diff mbox

[RFC,5/6] usb: gadget: atmel_usba: use atmel_io.h to provide on-chip IO

Message ID 1427370354-21247-6-git-send-email-ben.dooks@codethink.co.uk (mailing list archive)
State New, archived
Headers show

Commit Message

Ben Dooks March 26, 2015, 11:45 a.m. UTC
Use <linux/atmel_io.h> to provide IO accessors which work on both
AVR32 and ARM for on-chip peripherals.

Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
--
CC: Nicolas Ferre <nicolas.ferre@atmel.com>
CC: Felipe Balbi <balbi@ti.com>
CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
CC: linux-usb@vger.kernel.org
---
 drivers/usb/gadget/udc/atmel_usba_udc.c |  1 +
 drivers/usb/gadget/udc/atmel_usba_udc.h | 12 +++---------
 2 files changed, 4 insertions(+), 9 deletions(-)

Comments

Hans-Christian Noren Egtvedt March 26, 2015, 11:56 a.m. UTC | #1
Around Thu 26 Mar 2015 11:45:53 +0000 or thereabout, Ben Dooks wrote:
> Use <linux/atmel_io.h> to provide IO accessors which work on both
> AVR32 and ARM for on-chip peripherals.
> 
> Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>

Acked-by: Hans-Christian Egtvedt <egtvedt@samfundet.no>

> --
> CC: Nicolas Ferre <nicolas.ferre@atmel.com>
> CC: Felipe Balbi <balbi@ti.com>
> CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> CC: linux-usb@vger.kernel.org
> ---
>  drivers/usb/gadget/udc/atmel_usba_udc.c |  1 +
>  drivers/usb/gadget/udc/atmel_usba_udc.h | 12 +++---------
>  2 files changed, 4 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/usb/gadget/udc/atmel_usba_udc.c b/drivers/usb/gadget/udc/atmel_usba_udc.c
> index be2f503..6735585 100644
> --- a/drivers/usb/gadget/udc/atmel_usba_udc.c
> +++ b/drivers/usb/gadget/udc/atmel_usba_udc.c
> @@ -13,6 +13,7 @@
>  #include <linux/init.h>
>  #include <linux/interrupt.h>
>  #include <linux/io.h>
> +#include <linux/atmel_io.h>
>  #include <linux/slab.h>
>  #include <linux/device.h>
>  #include <linux/dma-mapping.h>
> diff --git a/drivers/usb/gadget/udc/atmel_usba_udc.h b/drivers/usb/gadget/udc/atmel_usba_udc.h
> index 92bd486..3d40aa3 100644
> --- a/drivers/usb/gadget/udc/atmel_usba_udc.h
> +++ b/drivers/usb/gadget/udc/atmel_usba_udc.h
> @@ -191,15 +191,9 @@
>  	 | USBA_BF(name, value))
>  
>  /* Register access macros */
> -#ifdef CONFIG_AVR32
> -#define usba_io_readl	__raw_readl
> -#define usba_io_writel	__raw_writel
> -#define usba_io_writew	__raw_writew
> -#else
> -#define usba_io_readl	readl_relaxed
> -#define usba_io_writel	writel_relaxed
> -#define usba_io_writew	writew_relaxed
> -#endif
> +#define usba_io_readl	atmel_oc_readl
> +#define usba_io_writel	atmel_oc_writel
> +#define usba_io_writew	atmel_oc_writew

Same comment as earlier patch, it would be nice to remove the define
usba_io_{read,write}{l,w} defines in a follow-up patch.

<snipp diff>
Felipe Balbi April 27, 2015, 8:55 p.m. UTC | #2
On Thu, Mar 26, 2015 at 12:56:47PM +0100, Hans-Christian Egtvedt wrote:
> Around Thu 26 Mar 2015 11:45:53 +0000 or thereabout, Ben Dooks wrote:
> > Use <linux/atmel_io.h> to provide IO accessors which work on both
> > AVR32 and ARM for on-chip peripherals.
> > 
> > Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
> 
> Acked-by: Hans-Christian Egtvedt <egtvedt@samfundet.no>
> 
> > --
> > CC: Nicolas Ferre <nicolas.ferre@atmel.com>
> > CC: Felipe Balbi <balbi@ti.com>
> > CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> > CC: linux-usb@vger.kernel.org
> > ---
> >  drivers/usb/gadget/udc/atmel_usba_udc.c |  1 +
> >  drivers/usb/gadget/udc/atmel_usba_udc.h | 12 +++---------
> >  2 files changed, 4 insertions(+), 9 deletions(-)
> > 
> > diff --git a/drivers/usb/gadget/udc/atmel_usba_udc.c b/drivers/usb/gadget/udc/atmel_usba_udc.c
> > index be2f503..6735585 100644
> > --- a/drivers/usb/gadget/udc/atmel_usba_udc.c
> > +++ b/drivers/usb/gadget/udc/atmel_usba_udc.c
> > @@ -13,6 +13,7 @@
> >  #include <linux/init.h>
> >  #include <linux/interrupt.h>
> >  #include <linux/io.h>
> > +#include <linux/atmel_io.h>
> >  #include <linux/slab.h>
> >  #include <linux/device.h>
> >  #include <linux/dma-mapping.h>
> > diff --git a/drivers/usb/gadget/udc/atmel_usba_udc.h b/drivers/usb/gadget/udc/atmel_usba_udc.h
> > index 92bd486..3d40aa3 100644
> > --- a/drivers/usb/gadget/udc/atmel_usba_udc.h
> > +++ b/drivers/usb/gadget/udc/atmel_usba_udc.h
> > @@ -191,15 +191,9 @@
> >  	 | USBA_BF(name, value))
> >  
> >  /* Register access macros */
> > -#ifdef CONFIG_AVR32
> > -#define usba_io_readl	__raw_readl
> > -#define usba_io_writel	__raw_writel
> > -#define usba_io_writew	__raw_writew
> > -#else
> > -#define usba_io_readl	readl_relaxed
> > -#define usba_io_writel	writel_relaxed
> > -#define usba_io_writew	writew_relaxed
> > -#endif
> > +#define usba_io_readl	atmel_oc_readl
> > +#define usba_io_writel	atmel_oc_writel
> > +#define usba_io_writew	atmel_oc_writew
> 
> Same comment as earlier patch, it would be nice to remove the define
> usba_io_{read,write}{l,w} defines in a follow-up patch.

I'm fine with this too. Is this targetted at v4.2 ?
Ben Dooks April 28, 2015, 3:40 p.m. UTC | #3
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256


>>> 
>>> /* Register access macros */ -#ifdef CONFIG_AVR32 -#define
>>> usba_io_readl	__raw_readl -#define usba_io_writel	__raw_writel 
>>> -#define usba_io_writew	__raw_writew -#else -#define
>>> usba_io_readl	readl_relaxed -#define usba_io_writel
>>> writel_relaxed -#define usba_io_writew	writew_relaxed -#endif 
>>> +#define usba_io_readl	atmel_oc_readl +#define usba_io_writel
>>> atmel_oc_writel +#define usba_io_writew	atmel_oc_writew
>> 
>> Same comment as earlier patch, it would be nice to remove the
>> define usba_io_{read,write}{l,w} defines in a follow-up patch.
> 
> I'm fine with this too. Is this targetted at v4.2 ?

Yes, although we may move it to the soc specific include directories
to avoid adding more to linux/

I will be sorting this out next week.

- -- 
Ben Dooks				http://www.codethink.co.uk/
Senior Engineer				Codethink - Providing Genius
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBCAAGBQJVP6neAAoJEMuhVOkVU3uz6tQH/jmZ0MszsoDjiKWdTnG+etoy
WUhAEdnmaqPEfJSaBy2OPCcmj9T1O07wg1L/2rHQHBrVuR9bW0gWY/TyJQahnn3A
YG81fgfIvOTAwmxIkaF10mG1/haG1LgPQ4P6j7AaKz09Zowath0rsga17AhYuUyh
bps4Go7yHF/OpjuwB9VxSttMAbVAIHqXbuc5kufN89JAxDT6x5tV/BrqkqEoHpSV
kW7VvGb/V4Aeax1h9klfdUEBlL2czkVuYYtTnicc9lFN3T9+6XJ+SNwKLtSklEr3
SLM78DoIQQoKYWCf8vsg0FR0E9LeR1ytgZXPfOpdAoId+iZt39tBk9bMi/XOiBo=
=ceej
-----END PGP SIGNATURE-----
Nicolas Ferre April 28, 2015, 4:22 p.m. UTC | #4
Le 28/04/2015 17:40, Ben Dooks a écrit :
> 
>>>>
>>>> /* Register access macros */ -#ifdef CONFIG_AVR32 -#define
>>>> usba_io_readl	__raw_readl -#define usba_io_writel	__raw_writel 
>>>> -#define usba_io_writew	__raw_writew -#else -#define
>>>> usba_io_readl	readl_relaxed -#define usba_io_writel
>>>> writel_relaxed -#define usba_io_writew	writew_relaxed -#endif 
>>>> +#define usba_io_readl	atmel_oc_readl +#define usba_io_writel
>>>> atmel_oc_writel +#define usba_io_writew	atmel_oc_writew
>>>
>>> Same comment as earlier patch, it would be nice to remove the
>>> define usba_io_{read,write}{l,w} defines in a follow-up patch.
> 
>> I'm fine with this too. Is this targetted at v4.2 ?
> 
> Yes, although we may move it to the soc specific include directories
> to avoid adding more to linux/

BTW, Ben, what _oc_ stands for in the new macro name?

Bye,
Felipe Balbi April 28, 2015, 4:30 p.m. UTC | #5
Hi,

On Tue, Apr 28, 2015 at 04:40:14PM +0100, Ben Dooks wrote:
> >>> /* Register access macros */ -#ifdef CONFIG_AVR32 -#define
> >>> usba_io_readl	__raw_readl -#define usba_io_writel	__raw_writel 
> >>> -#define usba_io_writew	__raw_writew -#else -#define
> >>> usba_io_readl	readl_relaxed -#define usba_io_writel
> >>> writel_relaxed -#define usba_io_writew	writew_relaxed -#endif 
> >>> +#define usba_io_readl	atmel_oc_readl +#define usba_io_writel
> >>> atmel_oc_writel +#define usba_io_writew	atmel_oc_writew
> >> 
> >> Same comment as earlier patch, it would be nice to remove the
> >> define usba_io_{read,write}{l,w} defines in a follow-up patch.
> > 
> > I'm fine with this too. Is this targetted at v4.2 ?
> 
> Yes, although we may move it to the soc specific include directories
> to avoid adding more to linux/
> 
> I will be sorting this out next week.

I would rather not see drivers including anything from asm or mach-*
(unless strictly necessary), otherwise it's a pain to build-test
anything

cheers
Ben Dooks April 28, 2015, 4:34 p.m. UTC | #6
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

On 28/04/15 17:30, Felipe Balbi wrote:
> Hi,
> 
> On Tue, Apr 28, 2015 at 04:40:14PM +0100, Ben Dooks wrote:
>>>>> /* Register access macros */ -#ifdef CONFIG_AVR32 -#define 
>>>>> usba_io_readl	__raw_readl -#define usba_io_writel
>>>>> __raw_writel -#define usba_io_writew	__raw_writew -#else
>>>>> -#define usba_io_readl	readl_relaxed -#define
>>>>> usba_io_writel writel_relaxed -#define usba_io_writew
>>>>> writew_relaxed -#endif +#define usba_io_readl
>>>>> atmel_oc_readl +#define usba_io_writel atmel_oc_writel
>>>>> +#define usba_io_writew	atmel_oc_writew
>>>> 
>>>> Same comment as earlier patch, it would be nice to remove
>>>> the define usba_io_{read,write}{l,w} defines in a follow-up
>>>> patch.
>>> 
>>> I'm fine with this too. Is this targetted at v4.2 ?
>> 
>> Yes, although we may move it to the soc specific include
>> directories to avoid adding more to linux/
>> 
>> I will be sorting this out next week.
> 
> I would rather not see drivers including anything from asm or
> mach-* (unless strictly necessary), otherwise it's a pain to
> build-test anything


Thanks. I think the soc/ include is available for all. I will check this
tomorrow.


- -- 
Ben Dooks				http://www.codethink.co.uk/
Senior Engineer				Codethink - Providing Genius
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBCAAGBQJVP7aBAAoJEMuhVOkVU3uzId4H/3ZsZ4Vogng63I04OpLtt5Qs
VopvttCvaLczye/wOWQKptXJuKIBmrs66BcV4ZsVi1SZjfbju9X1blzc0+6fxU9X
xE2rw3kDPZmtKm6v1GCRrE/uzhKeKgAnfp7Yf7pkdn98Lx2D9gy/s7GRN6Bkql28
pz/QIqr/H6Hp2frbubakKx/F7SFV88ZUNZXLkw8+vkn7gKGRX7ODcPFldjbjooIa
zyDdrZWiqhTHdWzQ813vNgKJfP1GiYNZuht+EhAh0ngLy0YnqnSXF0eZiOy/uF0Z
cCMlXZo1Q/2LkqVKEgywJDxGhCruT3RpPDWLk6eA9trlHF62j3WSn65nDxKtBwA=
=cqtq
-----END PGP SIGNATURE-----
Felipe Balbi April 28, 2015, 4:34 p.m. UTC | #7
On Tue, Apr 28, 2015 at 05:34:09PM +0100, Ben Dooks wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA256
> 
> On 28/04/15 17:30, Felipe Balbi wrote:
> > Hi,
> > 
> > On Tue, Apr 28, 2015 at 04:40:14PM +0100, Ben Dooks wrote:
> >>>>> /* Register access macros */ -#ifdef CONFIG_AVR32 -#define 
> >>>>> usba_io_readl	__raw_readl -#define usba_io_writel
> >>>>> __raw_writel -#define usba_io_writew	__raw_writew -#else
> >>>>> -#define usba_io_readl	readl_relaxed -#define
> >>>>> usba_io_writel writel_relaxed -#define usba_io_writew
> >>>>> writew_relaxed -#endif +#define usba_io_readl
> >>>>> atmel_oc_readl +#define usba_io_writel atmel_oc_writel
> >>>>> +#define usba_io_writew	atmel_oc_writew
> >>>> 
> >>>> Same comment as earlier patch, it would be nice to remove
> >>>> the define usba_io_{read,write}{l,w} defines in a follow-up
> >>>> patch.
> >>> 
> >>> I'm fine with this too. Is this targetted at v4.2 ?
> >> 
> >> Yes, although we may move it to the soc specific include
> >> directories to avoid adding more to linux/
> >> 
> >> I will be sorting this out next week.
> > 
> > I would rather not see drivers including anything from asm or
> > mach-* (unless strictly necessary), otherwise it's a pain to
> > build-test anything
> 
> 
> Thanks. I think the soc/ include is available for all. I will check this
> tomorrow.

if that's the case, no issues from my side :-)
diff mbox

Patch

diff --git a/drivers/usb/gadget/udc/atmel_usba_udc.c b/drivers/usb/gadget/udc/atmel_usba_udc.c
index be2f503..6735585 100644
--- a/drivers/usb/gadget/udc/atmel_usba_udc.c
+++ b/drivers/usb/gadget/udc/atmel_usba_udc.c
@@ -13,6 +13,7 @@ 
 #include <linux/init.h>
 #include <linux/interrupt.h>
 #include <linux/io.h>
+#include <linux/atmel_io.h>
 #include <linux/slab.h>
 #include <linux/device.h>
 #include <linux/dma-mapping.h>
diff --git a/drivers/usb/gadget/udc/atmel_usba_udc.h b/drivers/usb/gadget/udc/atmel_usba_udc.h
index 92bd486..3d40aa3 100644
--- a/drivers/usb/gadget/udc/atmel_usba_udc.h
+++ b/drivers/usb/gadget/udc/atmel_usba_udc.h
@@ -191,15 +191,9 @@ 
 	 | USBA_BF(name, value))
 
 /* Register access macros */
-#ifdef CONFIG_AVR32
-#define usba_io_readl	__raw_readl
-#define usba_io_writel	__raw_writel
-#define usba_io_writew	__raw_writew
-#else
-#define usba_io_readl	readl_relaxed
-#define usba_io_writel	writel_relaxed
-#define usba_io_writew	writew_relaxed
-#endif
+#define usba_io_readl	atmel_oc_readl
+#define usba_io_writel	atmel_oc_writel
+#define usba_io_writew	atmel_oc_writew
 
 #define usba_readl(udc, reg)					\
 	usba_io_readl((udc)->regs + USBA_##reg)