LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [PATCH] Fix hid_device_id for cross compiling
@ 2008-10-25 22:30 Andreas Schwab
  2008-10-30  7:23 ` Andrew Morton
  0 siblings, 1 reply; 3+ messages in thread
From: Andreas Schwab @ 2008-10-25 22:30 UTC (permalink / raw)
  To: linux-kernel; +Cc: linux-input

struct hid_device_id contains hidden padding which is bad for cross
compiling.  Make the padding explicit and consistent across
architectures.

Signed-off-by: Andreas Schwab <schwab@suse.de>
---
diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h
index eb71b45..0e4f303 100644
--- a/include/linux/mod_devicetable.h
+++ b/include/linux/mod_devicetable.h
@@ -135,6 +135,7 @@ struct usb_device_id {
 
 struct hid_device_id {
 	__u16 bus;
+	__u16 pad1;
 	__u32 vendor;
 	__u32 product;
 	kernel_ulong_t driver_data

-- 
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] Fix hid_device_id for cross compiling
  2008-10-25 22:30 [PATCH] Fix hid_device_id for cross compiling Andreas Schwab
@ 2008-10-30  7:23 ` Andrew Morton
  2008-10-30  9:19   ` Andreas Schwab
  0 siblings, 1 reply; 3+ messages in thread
From: Andrew Morton @ 2008-10-30  7:23 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: linux-kernel, linux-input

On Sun, 26 Oct 2008 00:30:18 +0200 Andreas Schwab <schwab@suse.de> wrote:

> struct hid_device_id contains hidden padding which is bad for cross
> compiling.  Make the padding explicit and consistent across
> architectures.
> 

What is "bad" about it?  Can you expand a bit on the problem which is
being fixed here?  Before-and-after user-visible behaviour?

Thanks.

> ---
> diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h
> index eb71b45..0e4f303 100644
> --- a/include/linux/mod_devicetable.h
> +++ b/include/linux/mod_devicetable.h
> @@ -135,6 +135,7 @@ struct usb_device_id {
>  
>  struct hid_device_id {
>  	__u16 bus;
> +	__u16 pad1;
>  	__u32 vendor;
>  	__u32 product;
>  	kernel_ulong_t driver_data


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] Fix hid_device_id for cross compiling
  2008-10-30  7:23 ` Andrew Morton
@ 2008-10-30  9:19   ` Andreas Schwab
  0 siblings, 0 replies; 3+ messages in thread
From: Andreas Schwab @ 2008-10-30  9:19 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, linux-input

Andrew Morton <akpm@linux-foundation.org> writes:

> On Sun, 26 Oct 2008 00:30:18 +0200 Andreas Schwab <schwab@suse.de> wrote:
>
>> struct hid_device_id contains hidden padding which is bad for cross
>> compiling.  Make the padding explicit and consistent across
>> architectures.
>> 
>
> What is "bad" about it?

It is bad because it depends on the alignment restrictions of the
architecture.  On m68k everything is aligned on a 2-byte boundary, so
this padding does not exist.

> Can you expand a bit on the problem which is being fixed here?

It's the well known cross compiling problem with modpost that has bitten
us so often before.  This one is even worse, because modpost would
silently read bogus values since the struct size is the same, only the
padding moves elsewhere.

Andreas.

-- 
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2008-10-30  9:20 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-10-25 22:30 [PATCH] Fix hid_device_id for cross compiling Andreas Schwab
2008-10-30  7:23 ` Andrew Morton
2008-10-30  9:19   ` Andreas Schwab

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).