From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lukasz Majewski Date: Thu, 26 Apr 2018 22:12:01 +0200 Subject: [U-Boot] [PATCH] usb: f_mass_storage: Fix compile on x86 In-Reply-To: <27afbae8-ff18-1b41-4a0a-97f4370979cd@denx.de> References: <20180426144143.2247-1-pure.logic@nexus-software.ie> <3bcaa9c1-e9a3-6a0b-2f68-40501d0f49f1@nexus-software.ie> <27afbae8-ff18-1b41-4a0a-97f4370979cd@denx.de> Message-ID: <20180426221121.0b370123@jawa> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit To: u-boot@lists.denx.de Hi, > On 04/26/2018 06:58 PM, Bryan O'Donoghue wrote: > > On 26/04/18 16:14, Marek Vasut wrote: > >> On 04/26/2018 04:41 PM, Bryan O'Donoghue wrote: > >>> Compiling the f_mass_storage driver for an x86 target results in a > >>> compilation error as set_bit and clear_bit are provided by > >>> bitops.h > >>> > >>> Fix that now by only compiling up the local definition of set_bit > >>> and clear_bit only if not already provided by the environment. > >>> > >>> Signed-off-by: Bryan O'Donoghue > >>> Cc: Lukasz Majewski > >>> Cc: Marek Vasut > >>> --- > >>>   drivers/usb/gadget/f_mass_storage.c | 2 ++ > >>>   1 file changed, 2 insertions(+) > >>> > >>> diff --git a/drivers/usb/gadget/f_mass_storage.c > >>> b/drivers/usb/gadget/f_mass_storage.c > >>> index 1ecb92ac6b..2e856af6ed 100644 > >>> --- a/drivers/usb/gadget/f_mass_storage.c > >>> +++ b/drivers/usb/gadget/f_mass_storage.c > >>> @@ -283,6 +283,7 @@ static const char fsg_string_interface[] = > >>> "Mass Storage"; > >>>   struct kref {int x; }; > >>>   struct completion {int x; }; > >>>   +#ifndef _I386_BITOPS_H > >>>   inline void set_bit(int nr, volatile void *addr) > >>>   { > >>>       int    mask; > >>> @@ -302,6 +303,7 @@ inline void clear_bit(int nr, volatile void > >>> *addr) mask = 1 << (nr & 0x1f); > >>>       *a &= ~mask; > >>>   } > >>> +#endif /* _I386_BITOPTS_H */ > >> > >> This doesn't look right, generic driver shouldn't contain > >> arch-specific fixup or ifdef. Can this be somehow abstracted out? > >> > > > > Hmm. > > > > On a second look - the name of these functions should change not to > > conflict with bitops.h - there's some funny bit-shifting going on > > there.. > > Better :) > The best option would be to replace those inlines with functions already provided in bitops.h - delete local instances and then re-use ones from the generic header. Best regards, Lukasz Majewski -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 488 bytes Desc: OpenPGP digital signature URL: