Skip to contentSkip to conversation

x86: Add amilo-rfkill driver for some Fujitsu-Siemens Amilo laptops

PATCH Superseded Ben Hutchings 2 participants 3 messages Nov 13, 2011 – Nov 25, 2011 x86 platform drivers

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 x86: Add amilo-rfkill driver for some Fujitsu-Siemens Amilo laptops

An rfkill driver based on the fsaa1655g and fsam7440 drivers for Fujitsu-Siemens Amilo A1655 and M7440 models found at:

http://sourceforge.net/projects/fsaa1655g/
http://sourceforge.net/projects/fsam7440/

This adds DMI matching and replaces the procfs files with rfkill devices.

---
Changes from v1:
- Remove module parameter and call to rfkill_init_sw_state()
- Correct Martin's name in copyright banner

 drivers/platform/x86/Kconfig        |    7 ++
 drivers/platform/x86/Makefile       |    1 +
 drivers/platform/x86/amilo-rfkill.c |  180 +++++++++++++++++++++++++++++++++++
 3 files changed, 188 insertions(+), 0 deletions(-)
 create mode 100644 drivers/platform/x86/amilo-rfkill.c
drivers/platform/x86/Kconfig +7 -0
index 7f43cf8..cb2c255 100644
@@ -143,6 +143,13 @@ config FUJITSU_LAPTOP_DEBUG
 
 	  If you are not sure, say N here.
 
+config AMILO_RFKILL
+	tristate "Fujitsu-Siemens Amilo rfkill support"
+	depends on RFKILL
+	---help---
+	  This is a driver for enabling wifi on some Fujitsu-Siemens Amilo
+	  laptops.
+
 config TC1100_WMI
 	tristate "HP Compaq TC1100 Tablet WMI Extras (EXPERIMENTAL)"
 	depends on !X86_64
drivers/platform/x86/Makefile +1 -0
index 293a320..3acbaad 100644
@@ -17,6 +17,7 @@ obj-$(CONFIG_ACER_WMI)		+= acer-wmi.o
 obj-$(CONFIG_ACERHDF)		+= acerhdf.o
 obj-$(CONFIG_HP_ACCEL)		+= hp_accel.o
 obj-$(CONFIG_HP_WMI)		+= hp-wmi.o
+obj-$(CONFIG_AMILO_RFKILL)	+= amilo-rfkill.o
 obj-$(CONFIG_TC1100_WMI)	+= tc1100-wmi.o
 obj-$(CONFIG_SONY_LAPTOP)	+= sony-laptop.o
 obj-$(CONFIG_IDEAPAD_LAPTOP)	+= ideapad-laptop.o
drivers/platform/x86/amilo-rfkill.c new file +180 -0

180 lines not on this page · raw message

Signature · 7 lines
1.7.7.2


--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
#1 lore raw

drivers/platform/x86/amilo-rfkill.c line 29

Quoted 3 lines · Ben Hutchings
drivers/platform/x86/amilo-rfkill.c new file +3 -0
+#define A1655_STATE_PORT	0x64
+#define A1655_COMMAND_PORT	0x64
+#define A1655_DATA_PORT		0x60

You'll need to synchronise with the i8042 driver here, otherwise things could go horribly wrong.

drivers/platform/x86/amilo-rfkill.c line 59

Quoted 2 lines
drivers/platform/x86/amilo-rfkill.c new file +2 -0
+#define M7440_PORT1		0x118f
+#define M7440_PORT2		0x118e

These ports are defined in the DSDT for one of these systems, but not referenced. I think a hardware-banging driver like this is probably the only interface.

Should be fine as long as you make sure you're not racing with the keyboard controller.

Signature · 1 line
Matthew Garrett | [email protected]
#2 lore raw

PATCH v3 1/1 x86: Add amilo-rfkill driver for some Fujitsu-Siemens Amilo laptops

An rfkill driver based on the fsaa1655g and fsam7440 drivers for Fujitsu-Siemens Amilo A1655 and M7440 models found at:

http://sourceforge.net/projects/fsaa1655g/
http://sourceforge.net/projects/fsam7440/

This adds DMI matching, replaces the procfs files with rfkill devices, and uses the proper functions to write to the i8042 safely.

---
Changes from v2:
- Use i8042 functions rather than direct inb()/outb()

Changes from v1:
- Remove module parameter and call to rfkill_init_sw_state()
- Correct Martin's name in copyright banner

Quoted 7 lines · Matthew Garrett

Review

Quoted 3 lines · Ben Hutchings
(quoted diff) +3 -0
+#define A1655_STATE_PORT	0x64
+#define A1655_COMMAND_PORT	0x64
+#define A1655_DATA_PORT		0x60

You'll need to synchronise with the i8042 driver here, otherwise things could go horribly wrong.

[...]

You're right, and doing that is rather simpler.

Ben.

 drivers/platform/x86/Kconfig        |    7 ++
 drivers/platform/x86/Makefile       |    1 +
 drivers/platform/x86/amilo-rfkill.c |  173 +++++++++++++++++++++++++++++++++++
 3 files changed, 181 insertions(+), 0 deletions(-)
 create mode 100644 drivers/platform/x86/amilo-rfkill.c
drivers/platform/x86/Kconfig +7 -0
index 7f43cf8..cb2c255 100644
@@ -143,6 +143,13 @@ config FUJITSU_LAPTOP_DEBUG
 
 	  If you are not sure, say N here.
 
+config AMILO_RFKILL
+	tristate "Fujitsu-Siemens Amilo rfkill support"
+	depends on RFKILL
+	---help---
+	  This is a driver for enabling wifi on some Fujitsu-Siemens Amilo
+	  laptops.
+
 config TC1100_WMI
 	tristate "HP Compaq TC1100 Tablet WMI Extras (EXPERIMENTAL)"
 	depends on !X86_64
drivers/platform/x86/Makefile +1 -0
index 293a320..3acbaad 100644
@@ -17,6 +17,7 @@ obj-$(CONFIG_ACER_WMI)		+= acer-wmi.o
 obj-$(CONFIG_ACERHDF)		+= acerhdf.o
 obj-$(CONFIG_HP_ACCEL)		+= hp_accel.o
 obj-$(CONFIG_HP_WMI)		+= hp-wmi.o
+obj-$(CONFIG_AMILO_RFKILL)	+= amilo-rfkill.o
 obj-$(CONFIG_TC1100_WMI)	+= tc1100-wmi.o
 obj-$(CONFIG_SONY_LAPTOP)	+= sony-laptop.o
 obj-$(CONFIG_IDEAPAD_LAPTOP)	+= ideapad-laptop.o
drivers/platform/x86/amilo-rfkill.c new file +173 -0

173 lines not on this page · raw message

Signature · 5 lines
1.7.7.3

-- 
Ben Hutchings
Teamwork is essential - it allows you to blame someone else.