2015-06-22 19:14:45

by Giedrius Statkevičius

[permalink] [raw]
Subject: [PATCH] staging: ft1000: convert pack pragma to __packed__ attribute

Convert a Microsoft compiler specific directive "#pragma pack(1)" to a
GCC equivalent __attribute__ ((__packed__)). Also, by doing this we save
ourselves from trouble if any other struct definitions are added after
the #pragma because it will be applied to all of the definitions
following it.

Signed-off-by: Giedrius Statkevičius <[email protected]>
---
drivers/staging/ft1000/ft1000-usb/ft1000_download.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/staging/ft1000/ft1000-usb/ft1000_download.c b/drivers/staging/ft1000/ft1000-usb/ft1000_download.c
index 5def347..345c256 100644
--- a/drivers/staging/ft1000/ft1000-usb/ft1000_download.c
+++ b/drivers/staging/ft1000/ft1000-usb/ft1000_download.c
@@ -95,7 +95,6 @@ struct dsp_file_hdr {
long nDspImages; /* Number of DSP images in file. */
};

-#pragma pack(1)
struct dsp_image_info {
long coff_date; /* Date/time when DSP Coff image was built. */
long begin_offset; /* Offset in file where image begins. */
@@ -105,7 +104,7 @@ struct dsp_image_info {
long version; /* Embedded version # of DSP code. */
unsigned short checksum; /* DSP File checksum */
unsigned short pad1;
-};
+} __attribute__ ((__packed__));


/* checks if the doorbell register is cleared */
--
2.4.4


2015-06-22 21:48:33

by Joe Perches

[permalink] [raw]
Subject: Re: [PATCH] staging: ft1000: convert pack pragma to __packed__ attribute

On Mon, 2015-06-22 at 22:12 +0300, Giedrius Statkevičius wrote:
> Convert a Microsoft compiler specific directive "#pragma pack(1)" to a
> GCC equivalent __attribute__ ((__packed__)). Also, by doing this we save
> ourselves from trouble if any other struct definitions are added after
> the #pragma because it will be applied to all of the definitions
> following it.
[]
> diff --git a/drivers/staging/ft1000/ft1000-usb/ft1000_download.c b/drivers/staging/ft1000/ft1000-usb/ft1000_download.c
[]
> @@ -95,7 +95,6 @@ struct dsp_file_hdr {
> long nDspImages; /* Number of DSP images in file. */
> };
>
> -#pragma pack(1)
> struct dsp_image_info {
> long coff_date; /* Date/time when DSP Coff image was built. */
> long begin_offset; /* Offset in file where image begins. */
> @@ -105,7 +104,7 @@ struct dsp_image_info {
> long version; /* Embedded version # of DSP code. */
> unsigned short checksum; /* DSP File checksum */
> unsigned short pad1;
> -};
> +} __attribute__ ((__packed__));

__packed