From patchwork Mon Aug 17 23:27:39 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mario Limonciello X-Patchwork-Id: 42208 Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by demeter.kernel.org (8.14.2/8.14.2) with ESMTP id n7HNSKSO018447 for ; Mon, 17 Aug 2009 23:28:21 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932683AbZHQX1A (ORCPT ); Mon, 17 Aug 2009 19:27:00 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S932675AbZHQX07 (ORCPT ); Mon, 17 Aug 2009 19:26:59 -0400 Received: from ausxipps301.us.dell.com ([143.166.148.223]:49227 "EHLO ausxipps301.us.dell.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932510AbZHQX05 (ORCPT ); Mon, 17 Aug 2009 19:26:57 -0400 Message-ID: <4A89E76B.5070204@dell.com> Date: Mon, 17 Aug 2009 18:27:39 -0500 From: Mario Limonciello User-Agent: Thunderbird 2.0.0.22 (X11/20090804) MIME-Version: 1.0 To: linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org, cezary.jackiewicz@gmail.com Subject: [PATCH 3/3] Drop platform sysfs support X-Enigmail-Version: 0.95.7 Sender: linux-acpi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-acpi@vger.kernel.org With rfkill support being added, the platform support is no longer necessary. Standard rfkill interfaces can be used to administer the box now. --- drivers/platform/x86/compal-laptop.c.old 2009-08-17 07:02:15.012836625 -0500 +++ drivers/platform/x86/compal-laptop.c 2009-08-17 07:03:03.925633380 -0500 @@ -26,13 +26,6 @@ /* * comapl-laptop.c - Compal laptop support. * - * This driver exports a few files in /sys/devices/platform/compal-laptop/: - * - * wlan - wlan subsystem state: contains 0 or 1 (rw) - * - * bluetooth - Bluetooth subsystem state: contains 0 or 1 (rw) - * - * raw - raw value taken from embedded controller register (ro) * * In addition to these platform device attributes the driver * registers itself in the Linux backlight control subsystem and is @@ -174,67 +167,6 @@ return ret; } -static int set_wlan_state(int state) -{ - u8 result, value; - - ec_read(COMPAL_EC_COMMAND_WIRELESS, &result); - - if ((result & KILLSWITCH_MASK) == 0) - return -EINVAL; - else { - if (state) - value = (u8) (result | WLAN_MASK); - else - value = (u8) (result & ~WLAN_MASK); - ec_write(COMPAL_EC_COMMAND_WIRELESS, value); - } - - return 0; -} - -static int set_bluetooth_state(int state) -{ - u8 result, value; - - ec_read(COMPAL_EC_COMMAND_WIRELESS, &result); - - if ((result & KILLSWITCH_MASK) == 0) - return -EINVAL; - else { - if (state) - value = (u8) (result | BT_MASK); - else - value = (u8) (result & ~BT_MASK); - ec_write(COMPAL_EC_COMMAND_WIRELESS, value); - } - - return 0; -} - -static int get_wireless_state(int *wlan, int *bluetooth) -{ - u8 result; - - ec_read(COMPAL_EC_COMMAND_WIRELESS, &result); - - if (wlan) { - if ((result & KILLSWITCH_MASK) == 0) - *wlan = 0; - else - *wlan = result & WLAN_MASK; - } - - if (bluetooth) { - if ((result & KILLSWITCH_MASK) == 0) - *bluetooth = 0; - else - *bluetooth = (result & BT_MASK) >> 1; - } - - return 0; -} - /* Backlight device stuff */ static int bl_get_brightness(struct backlight_device *b) @@ -255,96 +187,6 @@ static struct backlight_device *compalbl_device; -/* Platform device */ - -static ssize_t show_wlan(struct device *dev, - struct device_attribute *attr, char *buf) -{ - int ret, enabled; - - ret = get_wireless_state(&enabled, NULL); - if (ret < 0) - return ret; - - return sprintf(buf, "%i\n", enabled); -} - -static ssize_t show_raw(struct device *dev, - struct device_attribute *attr, char *buf) -{ - u8 result; - - ec_read(COMPAL_EC_COMMAND_WIRELESS, &result); - - return sprintf(buf, "%i\n", result); -} - -static ssize_t show_bluetooth(struct device *dev, - struct device_attribute *attr, char *buf) -{ - int ret, enabled; - - ret = get_wireless_state(NULL, &enabled); - if (ret < 0) - return ret; - - return sprintf(buf, "%i\n", enabled); -} - -static ssize_t store_wlan_state(struct device *dev, - struct device_attribute *attr, const char *buf, size_t count) -{ - int state, ret; - - if (sscanf(buf, "%i", &state) != 1 || (state < 0 || state > 1)) - return -EINVAL; - - ret = set_wlan_state(state); - if (ret < 0) - return ret; - - return count; -} - -static ssize_t store_bluetooth_state(struct device *dev, - struct device_attribute *attr, const char *buf, size_t count) -{ - int state, ret; - - if (sscanf(buf, "%i", &state) != 1 || (state < 0 || state > 1)) - return -EINVAL; - - ret = set_bluetooth_state(state); - if (ret < 0) - return ret; - - return count; -} - -static DEVICE_ATTR(bluetooth, 0644, show_bluetooth, store_bluetooth_state); -static DEVICE_ATTR(wlan, 0644, show_wlan, store_wlan_state); -static DEVICE_ATTR(raw, 0444, show_raw, NULL); - -static struct attribute *compal_attributes[] = { - &dev_attr_bluetooth.attr, - &dev_attr_wlan.attr, - &dev_attr_raw.attr, - NULL -}; - -static struct attribute_group compal_attribute_group = { - .attrs = compal_attributes -}; - -static struct platform_driver compal_driver = { - .driver = { - .name = "compal-laptop", - .owner = THIS_MODULE, - } -}; - -static struct platform_device *compal_device; - /* Initialization */ static int dmi_check_cb(const struct dmi_system_id *id) @@ -454,49 +296,16 @@ compalbl_device = backlight_device_register("compal-laptop", NULL, NULL, &compalbl_ops); if (IS_ERR(compalbl_device)) - return PTR_ERR(compalbl_device); + goto fail_backlight; compalbl_device->props.max_brightness = COMPAL_LCD_LEVEL_MAX-1; } - ret = platform_driver_register(&compal_driver); - if (ret) - goto fail_backlight; - - /* Register platform stuff */ - - compal_device = platform_device_alloc("compal-laptop", -1); - if (!compal_device) { - ret = -ENOMEM; - goto fail_platform_driver; - } - - ret = platform_device_add(compal_device); - if (ret) - goto fail_platform_device1; - - ret = sysfs_create_group(&compal_device->dev.kobj, - &compal_attribute_group); - if (ret) - goto fail_platform_device2; - printk(KERN_INFO "compal-laptop: driver "COMPAL_DRIVER_VERSION " successfully loaded.\n"); return 0; -fail_platform_device2: - - platform_device_del(compal_device); - -fail_platform_device1: - - platform_device_put(compal_device); - -fail_platform_driver: - - platform_driver_unregister(&compal_driver); - fail_backlight: backlight_device_unregister(compalbl_device); @@ -514,9 +323,6 @@ static void __exit compal_cleanup(void) { - sysfs_remove_group(&compal_device->dev.kobj, &compal_attribute_group); - platform_device_unregister(compal_device); - platform_driver_unregister(&compal_driver); backlight_device_unregister(compalbl_device); if (wifi_rfkill) rfkill_unregister(wifi_rfkill);