Skip to contentSkip to conversation

drivers/char/sonypi.c: fix ids member of struct acpi_driver

PATCH In review Eugene Teo 3 participants 5 messages Aug 1, 2007 – Aug 2, 2007

Subsystems (2)
lore
Share & tools
lore

Eugene Teo

author
#0 lore raw

PATCH 1/1 drivers/char/sonypi.c: fix ids member of struct acpi_driver

ids member of struct acpi_driver is of type struct acpi_device_id, not a character array.

---
 drivers/char/sonypi.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)
drivers/char/sonypi.c +7 -1
index 73037a4..ac0aeb0 100644
@@ -1147,10 +1147,16 @@ static int sonypi_acpi_remove(struct acpi_device *device, int type)
 	return 0;
 }
 
+const static struct acpi_device_id sonypi_device_ids[] = {
+	{"SNY6001", 0},
+	{"", 0},
+};
+MODULE_DEVICE_TABLE(acpi, sonypi_device_ids);
+
 static struct acpi_driver sonypi_acpi_driver = {
 	.name           = "sonypi",
 	.class          = "hkey",
-	.ids            = "SNY6001",
+	.ids            = sonypi_device_ids,
 	.ops            = {
 		           .add = sonypi_acpi_add,
 			   .remove = sonypi_acpi_remove,
maintainer
#1 lore raw
Quoted 13 lines · Eugene Teo

ids member of struct acpi_driver is of type struct acpi_device_id, not a character array.

---
 drivers/char/sonypi.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)
drivers/char/sonypi.c +0 -0
index 73037a4..ac0aeb0 100644

drivers/char/sonypi.c static int sonypi_acpi_remove(struct acpi_device *device, int type) · line 1154

Quoted 8 lines
drivers/char/sonypi.c +5 -0
@@ -1147,10 +1147,16 @@ static int sonypi_acpi_remove(struct acpi_device *device, int type)
 	return 0;
 }
 
+const static struct acpi_device_id sonypi_device_ids[] = {
+	{"SNY6001", 0},
+	{"", 0},
+};
+MODULE_DEVICE_TABLE(acpi, sonypi_device_ids);

how does it behave with the already existing id in sony-laptop? I'd rather avoid the MODULE_DEVICE_TABLE for sonypi allowing sony-laptop to take over automagically.

Signature · 2 lines
mattia
:wq!
#2 lore raw
Quoted 17 lines · Mattia Dongili
Quoted 16 lines · Eugene Teo

ids member of struct acpi_driver is of type struct acpi_device_id, not a character array.

---
 drivers/char/sonypi.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)
drivers/char/sonypi.c +0 -0
index 73037a4..ac0aeb0 100644
@@ -1147,10 +1147,16 @@ static int sonypi_acpi_remove(struct acpi_device *device, int type)
 	return 0;
 }
 
Quoted 9 lines

drivers/char/sonypi.c static int sonypi_acpi_remove(struct acpi_device *device, int type) · line 1154

Quoted 5 lines
drivers/char/sonypi.c +5 -0
+const static struct acpi_device_id sonypi_device_ids[] = {
+	{"SNY6001", 0},
+	{"", 0},
+};
+MODULE_DEVICE_TABLE(acpi, sonypi_device_ids);

how does it behave with the already existing id in sony-laptop? I'd rather avoid the MODULE_DEVICE_TABLE for sonypi allowing sony-laptop to take over automagically.

Yes, sounds reasonable.
The patch is needed, but MODULE_DEVICE_TABLE should be ripped out. AFAIK sonypi and sony-laptop cannot coexist together. But sony-acpi should be preferred. If someone needs sonypi, he needs to blacklist sony-apci in modprobe.conf and load sonypi manually.

Shouldn't sony-acpi replace sonypi on longterm or at least addtional "SNY6001" functionality be merged to sony-acpi? Having two drivers for the same device is not a good idea.

Thanks,

Thomas

maintainer
#3 lore raw
Quoted 28 lines · Thomas Renninger
Quoted 17 lines · Mattia Dongili
Quoted 16 lines · Eugene Teo

ids member of struct acpi_driver is of type struct acpi_device_id, not a character array.

---
 drivers/char/sonypi.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)
drivers/char/sonypi.c +0 -0
index 73037a4..ac0aeb0 100644
@@ -1147,10 +1147,16 @@ static int sonypi_acpi_remove(struct acpi_device *device, int type)
 	return 0;
 }
 
Quoted 9 lines

drivers/char/sonypi.c static int sonypi_acpi_remove(struct acpi_device *device, int type) · line 1154

Quoted 5 lines
drivers/char/sonypi.c +5 -0
+const static struct acpi_device_id sonypi_device_ids[] = {
+	{"SNY6001", 0},
+	{"", 0},
+};
+MODULE_DEVICE_TABLE(acpi, sonypi_device_ids);

how does it behave with the already existing id in sony-laptop? I'd rather avoid the MODULE_DEVICE_TABLE for sonypi allowing sony-laptop to take over automagically.

Quoted 5 lines

Yes, sounds reasonable.
The patch is needed, but MODULE_DEVICE_TABLE should be ripped out. AFAIK sonypi and sony-laptop cannot coexist together. But sony-acpi should be preferred. If someone needs sonypi, he needs to blacklist sony-apci in modprobe.conf and load sonypi manually.

Yes, that's what I meant.

Quoted 3 lines

Shouldn't sony-acpi replace sonypi on longterm or at least addtional "SNY6001" functionality be merged to sony-acpi? Having two drivers for the same device is not a good idea.

yep, sony-laptop will replace sonypi. It still has some problems but development is progressing in sony-laptop, not sonypi.

Eugene, I'll import the patch without the MODULE_DEVICE_TABLE line. cheers

Signature · 2 lines
mattia
:wq!
author
#4 lore raw

Hi Mattia,

<quote sender="Mattia Dongili">

Quoted 7 lines · Thomas Renninger
Quoted 6 lines · Mattia Dongili
Quoted 5 lines · Eugene Teo
Quoted 4 lines

ids member of struct acpi_driver is of type struct acpi_device_id, not a character array.

[...]

Quoted 4 lines

yep, sony-laptop will replace sonypi. It still has some problems but development is progressing in sony-laptop, not sonypi.

Eugene, I'll import the patch without the MODULE_DEVICE_TABLE line.

Ok, thanks.

Eugene