All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefan Achatz <erazor_de@users.sourceforge.net>
To: Jiri Kosina <jkosina@suse.cz>,
	linux-input@vger.kernel.org, linux-kernel@vger.kernel.org,
	Ben Hutchings <bhutchings@solarflare.com>
Subject: [PATCH] HID: roccat: replaced #pragma pack() with __packed macro
Date: Sat, 27 Nov 2010 08:35:11 +0100	[thread overview]
Message-ID: <1290843311.2308.3.camel@neuromancer> (raw)
In-Reply-To: <1290804616.3051.52.camel@localhost>

pragma pack() seems to be unwanted, so I replaced it with __packed.

Signed-off-by: Stefan Achatz <erazor_de@users.sourceforge.net>
---
 drivers/hid/hid-roccat-kone.h     |   22 +++++++---------------
 drivers/hid/hid-roccat-koneplus.h |   36 ++++++++++++++----------------------
 drivers/hid/hid-roccat-pyra.h     |   26 +++++++++-----------------
 3 files changed, 30 insertions(+), 54 deletions(-)

diff --git a/drivers/hid/hid-roccat-kone.h b/drivers/hid/hid-roccat-kone.h
index 11203a7..f4e220f 100644
--- a/drivers/hid/hid-roccat-kone.h
+++ b/drivers/hid/hid-roccat-kone.h
@@ -14,17 +14,11 @@
 
 #include <linux/types.h>
 
-/*
- * Binary data structures used for hardware communication must have no padding.
- */
-#pragma pack(push)
-#pragma pack(1)
-
 struct kone_keystroke {
 	uint8_t key;
 	uint8_t action;
 	uint16_t period; /* in milliseconds */
-};
+} __packed;
 
 enum kone_keystroke_buttons {
 	kone_keystroke_button_1 = 0xf0, /* left mouse button */
@@ -47,7 +41,7 @@ struct kone_button_info {
 	uint8_t macro_name[16]; /* can be max 15 chars long */
 	uint8_t count;
 	struct kone_keystroke keystrokes[20];
-};
+} __packed;
 
 enum kone_button_info_types {
 	/* valid button types until firmware 1.32 */
@@ -98,7 +92,7 @@ struct kone_light_info {
 	uint8_t red;   /* range 0x00-0xff */
 	uint8_t green; /* range 0x00-0xff */
 	uint8_t blue;  /* range 0x00-0xff */
-};
+} __packed;
 
 struct kone_profile {
 	uint16_t size; /* always 975 */
@@ -133,7 +127,7 @@ struct kone_profile {
 	struct kone_button_info button_infos[8];
 
 	uint16_t checksum; /* \brief holds checksum of struct */
-};
+} __packed;
 
 enum kone_polling_rates {
 	kone_polling_rate_125 = 1,
@@ -150,7 +144,7 @@ struct kone_settings {
 	uint8_t  calibration_data[4];
 	uint8_t  unknown3[2];
 	uint16_t checksum;
-};
+} __packed;
 
 /*
  * 12 byte mouse event read by interrupt_read
@@ -166,7 +160,7 @@ struct kone_mouse_event {
 	uint8_t event;
 	uint8_t value; /* press = 0, release = 1 */
 	uint8_t macro_key; /* 0 to 8 */
-};
+} __packed;
 
 enum kone_mouse_events {
 	/* osd events are thought to be display on screen */
@@ -194,9 +188,7 @@ struct kone_roccat_report {
 	uint8_t event;
 	uint8_t value; /* holds dpi or profile value */
 	uint8_t key; /* macro key on overlong macro execution */
-};
-
-#pragma pack(pop)
+} __packed;
 
 struct kone_device {
 	/*
diff --git a/drivers/hid/hid-roccat-koneplus.h b/drivers/hid/hid-roccat-koneplus.h
index 905e33d..e26eebf 100644
--- a/drivers/hid/hid-roccat-koneplus.h
+++ b/drivers/hid/hid-roccat-koneplus.h
@@ -15,12 +15,6 @@
 #include <linux/types.h>
 
 /*
- * Binary data structures used for hardware communication must have no padding.
- */
-#pragma pack(push)
-#pragma pack(1)
-
-/*
  * case 1: writes request 80 and reads value 1
  *
  */
@@ -32,7 +26,7 @@ struct koneplus_control {
 	 */
 	uint8_t value;
 	uint8_t request;
-};
+} __packed;
 
 enum koneplus_control_requests {
 	KONEPLUS_CONTROL_REQUEST_STATUS = 0x00,
@@ -50,7 +44,7 @@ struct koneplus_startup_profile {
 	uint8_t command; /* KONEPLUS_COMMAND_STARTUP_PROFILE */
 	uint8_t size; /* always 3 */
 	uint8_t startup_profile; /* Range 0-4! */
-};
+} __packed;
 
 struct koneplus_profile_settings {
 	uint8_t command; /* KONEPLUS_COMMAND_PROFILE_SETTINGS */
@@ -72,7 +66,7 @@ struct koneplus_profile_settings {
 	uint8_t light_effect_speed;
 	uint8_t lights[16];
 	uint16_t checksum;
-};
+} __packed;
 
 struct koneplus_profile_buttons {
 	uint8_t command; /* KONEPLUS_COMMAND_PROFILE_BUTTONS */
@@ -80,7 +74,7 @@ struct koneplus_profile_buttons {
 	uint8_t number; /* range 0-4 */
 	uint8_t data[72];
 	uint16_t checksum;
-};
+} __packed;
 
 struct koneplus_macro {
 	uint8_t command; /* KONEPLUS_COMMAND_MACRO */
@@ -89,31 +83,31 @@ struct koneplus_macro {
 	uint8_t button; /* range 0-23 */
 	uint8_t data[2075];
 	uint16_t checksum;
-};
+} __packed;
 
 struct koneplus_info {
 	uint8_t command; /* KONEPLUS_COMMAND_INFO */
 	uint8_t size; /* always 6 */
 	uint8_t firmware_version;
 	uint8_t unknown[3];
-};
+} __packed;
 
 struct koneplus_e {
 	uint8_t command; /* KONEPLUS_COMMAND_E */
 	uint8_t size; /* always 3 */
 	uint8_t unknown; /* TODO 1; 0 before firmware update */
-};
+} __packed;
 
 struct koneplus_sensor {
 	uint8_t command;  /* KONEPLUS_COMMAND_SENSOR */
 	uint8_t size; /* always 6 */
 	uint8_t data[4];
-};
+} __packed;
 
 struct koneplus_firmware_write {
 	uint8_t command; /* KONEPLUS_COMMAND_FIRMWARE_WRITE */
 	uint8_t unknown[1025];
-};
+} __packed;
 
 struct koneplus_firmware_write_control {
 	uint8_t command; /* KONEPLUS_COMMAND_FIRMWARE_WRITE_CONTROL */
@@ -123,18 +117,18 @@ struct koneplus_firmware_write_control {
 	 */
 	uint8_t value;
 	uint8_t unknown; /* always 0x75 */
-};
+} __packed;
 
 struct koneplus_tcu {
 	uint16_t usb_command; /* KONEPLUS_USB_COMMAND_TCU */
 	uint8_t data[2];
-};
+} __packed;
 
 struct koneplus_tcu_image {
 	uint16_t usb_command; /* KONEPLUS_USB_COMMAND_TCU */
 	uint8_t data[1024];
 	uint16_t checksum;
-};
+} __packed;
 
 enum koneplus_commands {
 	KONEPLUS_COMMAND_CONTROL = 0x4,
@@ -177,7 +171,7 @@ struct koneplus_mouse_report_button {
 	uint8_t data2;
 	uint8_t zero2;
 	uint8_t unknown[2];
-};
+} __packed;
 
 enum koneplus_mouse_report_button_types {
 	/* data1 = new profile range 1-5 */
@@ -211,9 +205,7 @@ struct koneplus_roccat_report {
 	uint8_t data1;
 	uint8_t data2;
 	uint8_t profile;
-};
-
-#pragma pack(pop)
+} __packed;
 
 struct koneplus_device {
 	int actual_profile;
diff --git a/drivers/hid/hid-roccat-pyra.h b/drivers/hid/hid-roccat-pyra.h
index ac5996e..4ab506f 100644
--- a/drivers/hid/hid-roccat-pyra.h
+++ b/drivers/hid/hid-roccat-pyra.h
@@ -14,17 +14,11 @@
 
 #include <linux/types.h>
 
-/*
- * Binary data structures used for hardware communication must have no padding.
- */
-#pragma pack(push)
-#pragma pack(1)
-
 struct pyra_b {
 	uint8_t command; /* PYRA_COMMAND_B */
 	uint8_t size; /* always 3 */
 	uint8_t unknown; /* 1 */
-};
+} __packed;
 
 struct pyra_control {
 	uint8_t command; /* PYRA_COMMAND_CONTROL */
@@ -34,7 +28,7 @@ struct pyra_control {
 	 */
 	uint8_t value; /* Range 0-4 */
 	uint8_t request;
-};
+} __packed;
 
 enum pyra_control_requests {
 	PYRA_CONTROL_REQUEST_STATUS = 0x00,
@@ -46,7 +40,7 @@ struct pyra_settings {
 	uint8_t command; /* PYRA_COMMAND_SETTINGS */
 	uint8_t size; /* always 3 */
 	uint8_t startup_profile; /* Range 0-4! */
-};
+} __packed;
 
 struct pyra_profile_settings {
 	uint8_t command; /* PYRA_COMMAND_PROFILE_SETTINGS */
@@ -61,7 +55,7 @@ struct pyra_profile_settings {
 	uint8_t light_effect;
 	uint8_t handedness;
 	uint16_t checksum; /* byte sum */
-};
+} __packed;
 
 struct pyra_profile_buttons {
 	uint8_t command; /* PYRA_COMMAND_PROFILE_BUTTONS */
@@ -69,7 +63,7 @@ struct pyra_profile_buttons {
 	uint8_t number; /* Range 0-4 */
 	uint8_t buttons[14];
 	uint16_t checksum; /* byte sum */
-};
+} __packed;
 
 struct pyra_info {
 	uint8_t command; /* PYRA_COMMAND_INFO */
@@ -78,7 +72,7 @@ struct pyra_info {
 	uint8_t unknown1; /* always 0 */
 	uint8_t unknown2; /* always 1 */
 	uint8_t unknown3; /* always 0 */
-};
+} __packed;
 
 enum pyra_commands {
 	PYRA_COMMAND_CONTROL = 0x4,
@@ -110,13 +104,13 @@ struct pyra_mouse_event_button {
 	uint8_t type;
 	uint8_t data1;
 	uint8_t data2;
-};
+} __packed;
 
 struct pyra_mouse_event_audio {
 	uint8_t report_number; /* always 2 */
 	uint8_t type;
 	uint8_t unused; /* always 0 */
-};
+} __packed;
 
 /* hid audio controls */
 enum pyra_mouse_event_audio_types {
@@ -170,9 +164,7 @@ struct pyra_roccat_report {
 	uint8_t type;
 	uint8_t value;
 	uint8_t key;
-};
-
-#pragma pack(pop)
+} __packed;
 
 struct pyra_device {
 	int actual_profile;
-- 
1.7.2.3

  reply	other threads:[~2010-11-27  7:35 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-26 19:57 [PATCH 3/5] HID: roccat: declaring meaning of pack pragma usage in driver headers Stefan Achatz
2010-11-26 20:50 ` Ben Hutchings
2010-11-27  7:35   ` Stefan Achatz [this message]
2010-11-30 17:40   ` Greg KH
2010-12-02 15:04     ` Jiri Kosina
2010-12-02 15:16       ` Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1290843311.2308.3.camel@neuromancer \
    --to=erazor_de@users.sourceforge.net \
    --cc=bhutchings@solarflare.com \
    --cc=jkosina@suse.cz \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.