Message ID | 20160921161134.6951-2-mugunthanvnm@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, 21 Sep 2016, Mugunthan V N wrote: > store the physical address of the device in its priv to use it > for DMA addressing in the client drivers. > > Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> > --- > drivers/mfd/ti_am335x_tscadc.c | 1 + > include/linux/mfd/ti_am335x_tscadc.h | 1 + > 2 files changed, 2 insertions(+) > > diff --git a/drivers/mfd/ti_am335x_tscadc.c b/drivers/mfd/ti_am335x_tscadc.c > index c8f027b..0f3fab4 100644 > --- a/drivers/mfd/ti_am335x_tscadc.c > +++ b/drivers/mfd/ti_am335x_tscadc.c > @@ -183,6 +183,7 @@ static int ti_tscadc_probe(struct platform_device *pdev) > tscadc->irq = err; > > res = platform_get_resource(pdev, IORESOURCE_MEM, 0); > + tscadc->tscadc_phys_base = res->start; This is unusual. Can't you use a virt_to_phys() variant instead? > tscadc->tscadc_base = devm_ioremap_resource(&pdev->dev, res); > if (IS_ERR(tscadc->tscadc_base)) > return PTR_ERR(tscadc->tscadc_base); > diff --git a/include/linux/mfd/ti_am335x_tscadc.h b/include/linux/mfd/ti_am335x_tscadc.h > index 7f55b8b..e45a208 100644 > --- a/include/linux/mfd/ti_am335x_tscadc.h > +++ b/include/linux/mfd/ti_am335x_tscadc.h > @@ -155,6 +155,7 @@ struct ti_tscadc_dev { > struct device *dev; > struct regmap *regmap; > void __iomem *tscadc_base; > + phys_addr_t tscadc_phys_base; > int irq; > int used_cells; /* 1-2 */ > int tsc_wires;
On Wednesday 28 September 2016 01:10 AM, Lee Jones wrote: > On Wed, 21 Sep 2016, Mugunthan V N wrote: > >> store the physical address of the device in its priv to use it >> for DMA addressing in the client drivers. >> >> Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> >> --- >> drivers/mfd/ti_am335x_tscadc.c | 1 + >> include/linux/mfd/ti_am335x_tscadc.h | 1 + >> 2 files changed, 2 insertions(+) >> >> diff --git a/drivers/mfd/ti_am335x_tscadc.c b/drivers/mfd/ti_am335x_tscadc.c >> index c8f027b..0f3fab4 100644 >> --- a/drivers/mfd/ti_am335x_tscadc.c >> +++ b/drivers/mfd/ti_am335x_tscadc.c >> @@ -183,6 +183,7 @@ static int ti_tscadc_probe(struct platform_device *pdev) >> tscadc->irq = err; >> >> res = platform_get_resource(pdev, IORESOURCE_MEM, 0); >> + tscadc->tscadc_phys_base = res->start; > > This is unusual. Can't you use a virt_to_phys() variant instead? > I tried using virt_to_phys(), but its not working for me. Also saw many drivers uses like this to get physical address ("git grep -n " res->start;" drivers/*"). Regards Mugunthan V N
On Fri, 30 Sep 2016, Mugunthan V N wrote: > On Wednesday 28 September 2016 01:10 AM, Lee Jones wrote: > > On Wed, 21 Sep 2016, Mugunthan V N wrote: > > > >> store the physical address of the device in its priv to use it > >> for DMA addressing in the client drivers. > >> > >> Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> > >> --- > >> drivers/mfd/ti_am335x_tscadc.c | 1 + > >> include/linux/mfd/ti_am335x_tscadc.h | 1 + > >> 2 files changed, 2 insertions(+) > >> > >> diff --git a/drivers/mfd/ti_am335x_tscadc.c b/drivers/mfd/ti_am335x_tscadc.c > >> index c8f027b..0f3fab4 100644 > >> --- a/drivers/mfd/ti_am335x_tscadc.c > >> +++ b/drivers/mfd/ti_am335x_tscadc.c > >> @@ -183,6 +183,7 @@ static int ti_tscadc_probe(struct platform_device *pdev) > >> tscadc->irq = err; > >> > >> res = platform_get_resource(pdev, IORESOURCE_MEM, 0); > >> + tscadc->tscadc_phys_base = res->start; > > > > This is unusual. Can't you use a virt_to_phys() variant instead? > > > > I tried using virt_to_phys(), but its not working for me. > Also saw many drivers uses like this to get physical address > ("git grep -n " res->start;" drivers/*"). Very well: For my own reference: Acked-for-MFD-by: Lee Jones <lee.jones@linaro.org> Let me know how you wish this set to be handled.
On 26/10/16 13:17, Lee Jones wrote: > On Fri, 30 Sep 2016, Mugunthan V N wrote: > >> On Wednesday 28 September 2016 01:10 AM, Lee Jones wrote: >>> On Wed, 21 Sep 2016, Mugunthan V N wrote: >>> >>>> store the physical address of the device in its priv to use it >>>> for DMA addressing in the client drivers. >>>> >>>> Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> >>>> --- >>>> drivers/mfd/ti_am335x_tscadc.c | 1 + >>>> include/linux/mfd/ti_am335x_tscadc.h | 1 + >>>> 2 files changed, 2 insertions(+) >>>> >>>> diff --git a/drivers/mfd/ti_am335x_tscadc.c b/drivers/mfd/ti_am335x_tscadc.c >>>> index c8f027b..0f3fab4 100644 >>>> --- a/drivers/mfd/ti_am335x_tscadc.c >>>> +++ b/drivers/mfd/ti_am335x_tscadc.c >>>> @@ -183,6 +183,7 @@ static int ti_tscadc_probe(struct platform_device *pdev) >>>> tscadc->irq = err; >>>> >>>> res = platform_get_resource(pdev, IORESOURCE_MEM, 0); >>>> + tscadc->tscadc_phys_base = res->start; >>> >>> This is unusual. Can't you use a virt_to_phys() variant instead? >>> >> >> I tried using virt_to_phys(), but its not working for me. >> Also saw many drivers uses like this to get physical address >> ("git grep -n " res->start;" drivers/*"). > > Very well: > > For my own reference: > Acked-for-MFD-by: Lee Jones <lee.jones@linaro.org> > > Let me know how you wish this set to be handled. I'm happy to pick up the whole series. There are some more mfd header changes in patch 2 but as they only add defines, I don't mind that much if I don't an Ack from you on those (btw this got to V3 but as patch 1 didn't change I'll carry your ack forwards). Do you want an immutable branch? Seems unlikely to cause much trouble even if there is a merge issue on all 10ish lines of mfd code in the next merge window. Jonathan >
On Sun, 30 Oct 2016, Jonathan Cameron wrote: > On 26/10/16 13:17, Lee Jones wrote: > > On Fri, 30 Sep 2016, Mugunthan V N wrote: > > > >> On Wednesday 28 September 2016 01:10 AM, Lee Jones wrote: > >>> On Wed, 21 Sep 2016, Mugunthan V N wrote: > >>> > >>>> store the physical address of the device in its priv to use it > >>>> for DMA addressing in the client drivers. > >>>> > >>>> Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> > >>>> --- > >>>> drivers/mfd/ti_am335x_tscadc.c | 1 + > >>>> include/linux/mfd/ti_am335x_tscadc.h | 1 + > >>>> 2 files changed, 2 insertions(+) > >>>> > >>>> diff --git a/drivers/mfd/ti_am335x_tscadc.c b/drivers/mfd/ti_am335x_tscadc.c > >>>> index c8f027b..0f3fab4 100644 > >>>> --- a/drivers/mfd/ti_am335x_tscadc.c > >>>> +++ b/drivers/mfd/ti_am335x_tscadc.c > >>>> @@ -183,6 +183,7 @@ static int ti_tscadc_probe(struct platform_device *pdev) > >>>> tscadc->irq = err; > >>>> > >>>> res = platform_get_resource(pdev, IORESOURCE_MEM, 0); > >>>> + tscadc->tscadc_phys_base = res->start; > >>> > >>> This is unusual. Can't you use a virt_to_phys() variant instead? > >>> > >> > >> I tried using virt_to_phys(), but its not working for me. > >> Also saw many drivers uses like this to get physical address > >> ("git grep -n " res->start;" drivers/*"). > > > > Very well: > > > > For my own reference: > > Acked-for-MFD-by: Lee Jones <lee.jones@linaro.org> > > > > Let me know how you wish this set to be handled. > I'm happy to pick up the whole series. There are some more mfd > header changes in patch 2 but as they only add defines, I > don't mind that much if I don't an Ack from you on those > (btw this got to V3 but as patch 1 didn't change I'll carry > your ack forwards). > > Do you want an immutable branch? Seems unlikely to cause > much trouble even if there is a merge issue on all 10ish > lines of mfd code in the next merge window. Not at the moment, but if you could set things up so it's possible to create one at a later date if things go Pete Tong, that would be great.
On 31/10/16 08:16, Lee Jones wrote: > On Sun, 30 Oct 2016, Jonathan Cameron wrote: > >> On 26/10/16 13:17, Lee Jones wrote: >>> On Fri, 30 Sep 2016, Mugunthan V N wrote: >>> >>>> On Wednesday 28 September 2016 01:10 AM, Lee Jones wrote: >>>>> On Wed, 21 Sep 2016, Mugunthan V N wrote: >>>>> >>>>>> store the physical address of the device in its priv to use it >>>>>> for DMA addressing in the client drivers. >>>>>> >>>>>> Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> >>>>>> --- >>>>>> drivers/mfd/ti_am335x_tscadc.c | 1 + >>>>>> include/linux/mfd/ti_am335x_tscadc.h | 1 + >>>>>> 2 files changed, 2 insertions(+) >>>>>> >>>>>> diff --git a/drivers/mfd/ti_am335x_tscadc.c b/drivers/mfd/ti_am335x_tscadc.c >>>>>> index c8f027b..0f3fab4 100644 >>>>>> --- a/drivers/mfd/ti_am335x_tscadc.c >>>>>> +++ b/drivers/mfd/ti_am335x_tscadc.c >>>>>> @@ -183,6 +183,7 @@ static int ti_tscadc_probe(struct platform_device *pdev) >>>>>> tscadc->irq = err; >>>>>> >>>>>> res = platform_get_resource(pdev, IORESOURCE_MEM, 0); >>>>>> + tscadc->tscadc_phys_base = res->start; >>>>> >>>>> This is unusual. Can't you use a virt_to_phys() variant instead? >>>>> >>>> >>>> I tried using virt_to_phys(), but its not working for me. >>>> Also saw many drivers uses like this to get physical address >>>> ("git grep -n " res->start;" drivers/*"). >>> >>> Very well: >>> >>> For my own reference: >>> Acked-for-MFD-by: Lee Jones <lee.jones@linaro.org> >>> >>> Let me know how you wish this set to be handled. >> I'm happy to pick up the whole series. There are some more mfd >> header changes in patch 2 but as they only add defines, I >> don't mind that much if I don't an Ack from you on those >> (btw this got to V3 but as patch 1 didn't change I'll carry >> your ack forwards). >> >> Do you want an immutable branch? Seems unlikely to cause >> much trouble even if there is a merge issue on all 10ish >> lines of mfd code in the next merge window. > > Not at the moment, but if you could set things up so it's possible to > create one at a later date if things go Pete Tong, that would be > great. Couldn't think of an easy way to do this without creating a branch and merging it into my normal branch. I'll not push it out to kernel.org though unless you tell me you need it. Applied to the togreg branch (indirectly ;) of iio.git pushed out as testing for the autobuilders to play with it. Thanks, Jonathan >
diff --git a/drivers/mfd/ti_am335x_tscadc.c b/drivers/mfd/ti_am335x_tscadc.c index c8f027b..0f3fab4 100644 --- a/drivers/mfd/ti_am335x_tscadc.c +++ b/drivers/mfd/ti_am335x_tscadc.c @@ -183,6 +183,7 @@ static int ti_tscadc_probe(struct platform_device *pdev) tscadc->irq = err; res = platform_get_resource(pdev, IORESOURCE_MEM, 0); + tscadc->tscadc_phys_base = res->start; tscadc->tscadc_base = devm_ioremap_resource(&pdev->dev, res); if (IS_ERR(tscadc->tscadc_base)) return PTR_ERR(tscadc->tscadc_base); diff --git a/include/linux/mfd/ti_am335x_tscadc.h b/include/linux/mfd/ti_am335x_tscadc.h index 7f55b8b..e45a208 100644 --- a/include/linux/mfd/ti_am335x_tscadc.h +++ b/include/linux/mfd/ti_am335x_tscadc.h @@ -155,6 +155,7 @@ struct ti_tscadc_dev { struct device *dev; struct regmap *regmap; void __iomem *tscadc_base; + phys_addr_t tscadc_phys_base; int irq; int used_cells; /* 1-2 */ int tsc_wires;
store the physical address of the device in its priv to use it for DMA addressing in the client drivers. Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> --- drivers/mfd/ti_am335x_tscadc.c | 1 + include/linux/mfd/ti_am335x_tscadc.h | 1 + 2 files changed, 2 insertions(+)