*
* This driver exports a few files in /sys/devices/platform/compal-laptop/:
*
- * lcd_level - Screen brightness: contains a single integer in the
- * range 0..7. (rw)
- *
* wlan - wlan subsystem state: contains 0 or 1 (rw)
*
* bluetooth - Bluetooth subsystem state: contains 0 or 1 (rw)
* This driver might work on other laptops produced by Compal. If you
* want to try it you can pass force=1 as argument to the module which
* will force it to load even when the DMI data doesn't identify the
- * laptop as IFL90.
+ * laptop as FL9x.
*/
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/autoconf.h>
-#define COMPAL_DRIVER_VERSION "0.2.5"
+#define COMPAL_DRIVER_VERSION "0.2.6"
#define COMPAL_LCD_LEVEL_MAX 8
return sprintf(buf, "%i\n", enabled);
}
-static ssize_t show_lcd_level(struct device *dev,
- struct device_attribute *attr, char *buf)
-{
- int ret;
-
- ret = get_lcd_level();
- if (ret < 0)
- return ret;
-
- return sprintf(buf, "%i\n", ret);
-}
-
-static ssize_t store_lcd_level(struct device *dev,
- struct device_attribute *attr, const char *buf, size_t count)
-{
- int level, ret;
-
- if (sscanf(buf, "%i", &level) != 1 ||
- (level < 0 || level >= COMPAL_LCD_LEVEL_MAX))
- return -EINVAL;
-
- ret = set_lcd_level(level);
- if (ret < 0)
- return ret;
-
- return count;
-}
-
static ssize_t store_wlan_state(struct device *dev,
struct device_attribute *attr, const char *buf, size_t count)
{
return count;
}
-static DEVICE_ATTR(lcd_level, 0644, show_lcd_level, store_lcd_level);
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_lcd_level.attr,
&dev_attr_bluetooth.attr,
&dev_attr_wlan.attr,
&dev_attr_raw.attr,