mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 0/2] toshiba_acpi: Purge driver from bluetooth RFKill code
@ 2015-04-27 20:30 Azael Avalos
  2015-04-27 20:30 ` [PATCH 1/2] toshiba_acpi: Remove bluetooth rfkill code Azael Avalos
  2015-04-27 20:30 ` [PATCH 2/2] platform/x86: Remove RFKILL dependency from toshiba_acpi Azael Avalos
  0 siblings, 2 replies; 4+ messages in thread
From: Azael Avalos @ 2015-04-27 20:30 UTC (permalink / raw)
  To: Darren Hart, platform-driver-x86, linux-kernel; +Cc: Azael Avalos

These two patches remove all bluetooth rfkill code from toshiba_acpi
and its build dependencies, as another series of patches will re-add
the rfkill code to toshiba_bluetooth instead.

Azael Avalos (2):
  toshiba_acpi: Remove bluetooth rfkill code
  platform/x86: Remove RFKILL dependency from toshiba_acpi

 drivers/platform/x86/Kconfig        |   1 -
 drivers/platform/x86/toshiba_acpi.c | 123 ------------------------------------
 2 files changed, 124 deletions(-)

-- 
2.3.5


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

* [PATCH 1/2] toshiba_acpi: Remove bluetooth rfkill code
  2015-04-27 20:30 [PATCH 0/2] toshiba_acpi: Purge driver from bluetooth RFKill code Azael Avalos
@ 2015-04-27 20:30 ` Azael Avalos
  2015-05-03 19:19   ` Darren Hart
  2015-04-27 20:30 ` [PATCH 2/2] platform/x86: Remove RFKILL dependency from toshiba_acpi Azael Avalos
  1 sibling, 1 reply; 4+ messages in thread
From: Azael Avalos @ 2015-04-27 20:30 UTC (permalink / raw)
  To: Darren Hart, platform-driver-x86, linux-kernel; +Cc: Azael Avalos

This patch removes all bluetooth rfkill related code residing in
the toshiba_acpi driver.

Separate patches will add (and adapt) the code to toshiba_bluetooth
(where it belongs).

Signed-off-by: Azael Avalos <coproscefalo@gmail.com>
---
 drivers/platform/x86/toshiba_acpi.c | 123 ------------------------------------
 1 file changed, 123 deletions(-)

diff --git a/drivers/platform/x86/toshiba_acpi.c b/drivers/platform/x86/toshiba_acpi.c
index f624dd5..2599d23 100644
--- a/drivers/platform/x86/toshiba_acpi.c
+++ b/drivers/platform/x86/toshiba_acpi.c
@@ -41,7 +41,6 @@
 #include <linux/proc_fs.h>
 #include <linux/seq_file.h>
 #include <linux/backlight.h>
-#include <linux/rfkill.h>
 #include <linux/input.h>
 #include <linux/input/sparse-keymap.h>
 #include <linux/leds.h>
@@ -163,7 +162,6 @@ MODULE_LICENSE("GPL");
 struct toshiba_acpi_dev {
 	struct acpi_device *acpi_dev;
 	const char *method_hci;
-	struct rfkill *bt_rfk;
 	struct input_dev *hotkey_dev;
 	struct work_struct hotkey_work;
 	struct backlight_device *backlight_dev;
@@ -200,8 +198,6 @@ struct toshiba_acpi_dev {
 	unsigned int panel_power_on_supported:1;
 	unsigned int usb_three_supported:1;
 	unsigned int sysfs_created:1;
-
-	struct mutex mutex;
 };
 
 static struct toshiba_acpi_dev *toshiba_acpi;
@@ -1202,97 +1198,6 @@ static int toshiba_hotkey_event_type_get(struct toshiba_acpi_dev *dev,
 	return 0;
 }
 
-/* Bluetooth rfkill handlers */
-
-static u32 hci_get_bt_present(struct toshiba_acpi_dev *dev, bool *present)
-{
-	u32 hci_result;
-	u32 value, value2;
-
-	value = 0;
-	value2 = 0;
-	hci_result = hci_read2(dev, HCI_WIRELESS, &value, &value2);
-	if (hci_result == TOS_SUCCESS)
-		*present = (value & HCI_WIRELESS_BT_PRESENT) ? true : false;
-
-	return hci_result;
-}
-
-static u32 hci_get_radio_state(struct toshiba_acpi_dev *dev, bool *radio_state)
-{
-	u32 hci_result;
-	u32 value, value2;
-
-	value = 0;
-	value2 = 0x0001;
-	hci_result = hci_read2(dev, HCI_WIRELESS, &value, &value2);
-
-	*radio_state = value & HCI_WIRELESS_KILL_SWITCH;
-	return hci_result;
-}
-
-static int bt_rfkill_set_block(void *data, bool blocked)
-{
-	struct toshiba_acpi_dev *dev = data;
-	u32 result1, result2;
-	u32 value;
-	int err;
-	bool radio_state;
-
-	value = (blocked == false);
-
-	mutex_lock(&dev->mutex);
-	if (hci_get_radio_state(dev, &radio_state) != TOS_SUCCESS) {
-		err = -EIO;
-		goto out;
-	}
-
-	if (!radio_state) {
-		err = 0;
-		goto out;
-	}
-
-	result1 = hci_write2(dev, HCI_WIRELESS, value, HCI_WIRELESS_BT_POWER);
-	result2 = hci_write2(dev, HCI_WIRELESS, value, HCI_WIRELESS_BT_ATTACH);
-
-	if (result1 != TOS_SUCCESS || result2 != TOS_SUCCESS)
-		err = -EIO;
-	else
-		err = 0;
- out:
-	mutex_unlock(&dev->mutex);
-	return err;
-}
-
-static void bt_rfkill_poll(struct rfkill *rfkill, void *data)
-{
-	bool new_rfk_state;
-	bool value;
-	u32 hci_result;
-	struct toshiba_acpi_dev *dev = data;
-
-	mutex_lock(&dev->mutex);
-
-	hci_result = hci_get_radio_state(dev, &value);
-	if (hci_result != TOS_SUCCESS) {
-		/* Can't do anything useful */
-		mutex_unlock(&dev->mutex);
-		return;
-	}
-
-	new_rfk_state = value;
-
-	mutex_unlock(&dev->mutex);
-
-	if (rfkill_set_hw_state(rfkill, !new_rfk_state))
-		bt_rfkill_set_block(data, true);
-}
-
-static const struct rfkill_ops toshiba_rfk_ops = {
-	.set_block = bt_rfkill_set_block,
-	.poll = bt_rfkill_poll,
-};
-
 static int get_tr_backlight_status(struct toshiba_acpi_dev *dev, bool *enabled)
 {
 	u32 hci_result;
@@ -2668,11 +2573,6 @@ static int toshiba_acpi_remove(struct acpi_device *acpi_dev)
 		sparse_keymap_free(dev->hotkey_dev);
 	}
 
-	if (dev->bt_rfk) {
-		rfkill_unregister(dev->bt_rfk);
-		rfkill_destroy(dev->bt_rfk);
-	}
-
 	backlight_device_unregister(dev->backlight_dev);
 
 	if (dev->illumination_supported)
@@ -2745,33 +2645,10 @@ static int toshiba_acpi_add(struct acpi_device *acpi_dev)
 	if (toshiba_acpi_setup_keyboard(dev))
 		pr_info("Unable to activate hotkeys\n");
 
-	mutex_init(&dev->mutex);
-
 	ret = toshiba_acpi_setup_backlight(dev);
 	if (ret)
 		goto error;
 
-	/* Register rfkill switch for Bluetooth */
-	if (hci_get_bt_present(dev, &bt_present) == TOS_SUCCESS && bt_present) {
-		dev->bt_rfk = rfkill_alloc("Toshiba Bluetooth",
-					   &acpi_dev->dev,
-					   RFKILL_TYPE_BLUETOOTH,
-					   &toshiba_rfk_ops,
-					   dev);
-		if (!dev->bt_rfk) {
-			pr_err("unable to allocate rfkill device\n");
-			ret = -ENOMEM;
-			goto error;
-		}
-
-		ret = rfkill_register(dev->bt_rfk);
-		if (ret) {
-			pr_err("unable to register rfkill device\n");
-			rfkill_destroy(dev->bt_rfk);
-			goto error;
-		}
-	}
-
 	if (toshiba_illumination_available(dev)) {
 		dev->led_dev.name = "toshiba::illumination";
 		dev->led_dev.max_brightness = 1;
-- 
2.3.5


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

* [PATCH 2/2] platform/x86: Remove RFKILL dependency from toshiba_acpi
  2015-04-27 20:30 [PATCH 0/2] toshiba_acpi: Purge driver from bluetooth RFKill code Azael Avalos
  2015-04-27 20:30 ` [PATCH 1/2] toshiba_acpi: Remove bluetooth rfkill code Azael Avalos
@ 2015-04-27 20:30 ` Azael Avalos
  1 sibling, 0 replies; 4+ messages in thread
From: Azael Avalos @ 2015-04-27 20:30 UTC (permalink / raw)
  To: Darren Hart, platform-driver-x86, linux-kernel; +Cc: Azael Avalos

This patch removes the dependency on rfkill for toshiba_acpi from
KConfig, as a previous patch removed all the code related to it.

Signed-off-by: Azael Avalos <coproscefalo@gmail.com>
---
 drivers/platform/x86/Kconfig | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
index 9752761..35319f8 100644
--- a/drivers/platform/x86/Kconfig
+++ b/drivers/platform/x86/Kconfig
@@ -612,7 +612,6 @@ config ACPI_TOSHIBA
 	select NEW_LEDS
 	depends on BACKLIGHT_CLASS_DEVICE
 	depends on INPUT
-	depends on RFKILL || RFKILL = n
 	depends on SERIO_I8042 || SERIO_I8042 = n
 	select INPUT_POLLDEV
 	select INPUT_SPARSEKMAP
-- 
2.3.5


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

* Re: [PATCH 1/2] toshiba_acpi: Remove bluetooth rfkill code
  2015-04-27 20:30 ` [PATCH 1/2] toshiba_acpi: Remove bluetooth rfkill code Azael Avalos
@ 2015-05-03 19:19   ` Darren Hart
  0 siblings, 0 replies; 4+ messages in thread
From: Darren Hart @ 2015-05-03 19:19 UTC (permalink / raw)
  To: Azael Avalos; +Cc: platform-driver-x86, linux-kernel

On Mon, Apr 27, 2015 at 02:30:53PM -0600, Azael Avalos wrote:
> This patch removes all bluetooth rfkill related code residing in
> the toshiba_acpi driver.
> 
> Separate patches will add (and adapt) the code to toshiba_bluetooth
> (where it belongs).
> 
> Signed-off-by: Azael Avalos <coproscefalo@gmail.com>

Hi Azael,

With this applied the driver as build warnings:

...
  CC [M]  drivers/platform/x86/toshiba_acpi.o
drivers/platform/x86/toshiba_acpi.c: In function ‘toshiba_acpi_add’:
drivers/platform/x86/toshiba_acpi.c:2636:7: warning: unused variable ‘bt_present’ [-Wunused-variable]
  bool bt_present;
       ^
drivers/platform/x86/toshiba_acpi.c: At top level:
drivers/platform/x86/toshiba_acpi.c:358:12: warning: ‘hci_write2’ defined but not used [-Wunused-function]
 static u32 hci_write2(struct toshiba_acpi_dev *dev, u32 reg, u32 in1, u32 in2)

I presume these should be removed as well?

Thanks,

-- 
Darren Hart
Intel Open Source Technology Center

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

end of thread, other threads:[~2015-05-03 19:20 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-04-27 20:30 [PATCH 0/2] toshiba_acpi: Purge driver from bluetooth RFKill code Azael Avalos
2015-04-27 20:30 ` [PATCH 1/2] toshiba_acpi: Remove bluetooth rfkill code Azael Avalos
2015-05-03 19:19   ` Darren Hart
2015-04-27 20:30 ` [PATCH 2/2] platform/x86: Remove RFKILL dependency from toshiba_acpi Azael Avalos

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®