Merge branch 'x86-platform-next' into x86-platform
authorMatthew Garrett <mjg@redhat.com>
Sun, 29 May 2011 18:27:13 +0000 (14:27 -0400)
committerMatthew Garrett <mjg@redhat.com>
Sun, 29 May 2011 18:27:13 +0000 (14:27 -0400)
35 files changed:
Documentation/laptops/acer-wmi.txt [deleted file]
MAINTAINERS
drivers/platform/x86/Kconfig
drivers/platform/x86/Makefile
drivers/platform/x86/acer-wmi.c
drivers/platform/x86/acerhdf.c
drivers/platform/x86/asus-laptop.c
drivers/platform/x86/asus-wmi.c
drivers/platform/x86/asus_acpi.c
drivers/platform/x86/compal-laptop.c
drivers/platform/x86/dell-laptop.c
drivers/platform/x86/dell-wmi-aio.c
drivers/platform/x86/dell-wmi.c
drivers/platform/x86/eeepc-laptop.c
drivers/platform/x86/eeepc-wmi.c
drivers/platform/x86/fujitsu-laptop.c
drivers/platform/x86/hdaps.c
drivers/platform/x86/hp-wmi.c
drivers/platform/x86/ibm_rtl.c
drivers/platform/x86/ideapad-laptop.c
drivers/platform/x86/intel_menlow.c
drivers/platform/x86/intel_mid_powerbtn.c
drivers/platform/x86/intel_mid_thermal.c
drivers/platform/x86/intel_oaktrail.c [new file with mode: 0644]
drivers/platform/x86/intel_pmic_gpio.c
drivers/platform/x86/msi-laptop.c
drivers/platform/x86/msi-wmi.c
drivers/platform/x86/sony-laptop.c
drivers/platform/x86/tc1100-wmi.c
drivers/platform/x86/thinkpad_acpi.c
drivers/platform/x86/topstar-laptop.c
drivers/platform/x86/toshiba_acpi.c
drivers/platform/x86/toshiba_bluetooth.c
drivers/platform/x86/wmi.c
drivers/platform/x86/xo15-ebook.c

diff --git a/Documentation/laptops/acer-wmi.txt b/Documentation/laptops/acer-wmi.txt
deleted file mode 100644 (file)
index 4beafa6..0000000
+++ /dev/null
@@ -1,184 +0,0 @@
-Acer Laptop WMI Extras Driver
-http://code.google.com/p/aceracpi
-Version 0.3
-4th April 2009
-
-Copyright 2007-2009 Carlos Corbacho <carlos@strangeworlds.co.uk>
-
-acer-wmi is a driver to allow you to control various parts of your Acer laptop
-hardware under Linux which are exposed via ACPI-WMI.
-
-This driver completely replaces the old out-of-tree acer_acpi, which I am
-currently maintaining for bug fixes only on pre-2.6.25 kernels. All development
-work is now focused solely on acer-wmi.
-
-Disclaimer
-**********
-
-Acer and Wistron have provided nothing towards the development acer_acpi or
-acer-wmi. All information we have has been through the efforts of the developers
-and the users to discover as much as possible about the hardware.
-
-As such, I do warn that this could break your hardware - this is extremely
-unlikely of course, but please bear this in mind.
-
-Background
-**********
-
-acer-wmi is derived from acer_acpi, originally developed by Mark
-Smith in 2005, then taken over by Carlos Corbacho in 2007, in order to activate
-the wireless LAN card under a 64-bit version of Linux, as acerhk[1] (the
-previous solution to the problem) relied on making 32 bit BIOS calls which are
-not possible in kernel space from a 64 bit OS.
-
-[1] acerhk: http://www.cakey.de/acerhk/
-
-Supported Hardware
-******************
-
-NOTE: The Acer Aspire One is not supported hardware. It cannot work with
-acer-wmi until Acer fix their ACPI-WMI implementation on them, so has been
-blacklisted until that happens.
-
-Please see the website for the current list of known working hardware:
-
-http://code.google.com/p/aceracpi/wiki/SupportedHardware
-
-If your laptop is not listed, or listed as unknown, and works with acer-wmi,
-please contact me with a copy of the DSDT.
-
-If your Acer laptop doesn't work with acer-wmi, I would also like to see the
-DSDT.
-
-To send me the DSDT, as root/sudo:
-
-cat /sys/firmware/acpi/tables/DSDT > dsdt
-
-And send me the resulting 'dsdt' file.
-
-Usage
-*****
-
-On Acer laptops, acer-wmi should already be autoloaded based on DMI matching.
-For non-Acer laptops, until WMI based autoloading support is added, you will
-need to manually load acer-wmi.
-
-acer-wmi creates /sys/devices/platform/acer-wmi, and fills it with various
-files whose usage is detailed below, which enables you to control some of the
-following (varies between models):
-
-* the wireless LAN card radio
-* inbuilt Bluetooth adapter
-* inbuilt 3G card
-* mail LED of your laptop
-* brightness of the LCD panel
-
-Wireless
-********
-
-With regards to wireless, all acer-wmi does is enable the radio on the card. It
-is not responsible for the wireless LED - once the radio is enabled, this is
-down to the wireless driver for your card. So the behaviour of the wireless LED,
-once you enable the radio, will depend on your hardware and driver combination.
-
-e.g. With the BCM4318 on the Acer Aspire 5020 series:
-
-ndiswrapper: Light blinks on when transmitting
-b43: Solid light, blinks off when transmitting
-
-Wireless radio control is unconditionally enabled - all Acer laptops that support
-acer-wmi come with built-in wireless. However, should you feel so inclined to
-ever wish to remove the card, or swap it out at some point, please get in touch
-with me, as we may well be able to gain some data on wireless card detection.
-
-The wireless radio is exposed through rfkill.
-
-Bluetooth
-*********
-
-For bluetooth, this is an internal USB dongle, so once enabled, you will get
-a USB device connection event, and a new USB device appears. When you disable
-bluetooth, you get the reverse - a USB device disconnect event, followed by the
-device disappearing again.
-
-Bluetooth is autodetected by acer-wmi, so if you do not have a bluetooth module
-installed in your laptop, this file won't exist (please be aware that it is
-quite common for Acer not to fit bluetooth to their laptops - so just because
-you have a bluetooth button on the laptop, doesn't mean that bluetooth is
-installed).
-
-For the adventurously minded - if you want to buy an internal bluetooth
-module off the internet that is compatible with your laptop and fit it, then
-it will work just fine with acer-wmi.
-
-Bluetooth is exposed through rfkill.
-
-3G
-**
-
-3G is currently not autodetected, so the 'threeg' file is always created under
-sysfs. So far, no-one in possession of an Acer laptop with 3G built-in appears to
-have tried Linux, or reported back, so we don't have any information on this.
-
-If you have an Acer laptop that does have a 3G card in, please contact me so we
-can properly detect these, and find out a bit more about them.
-
-To read the status of the 3G card (0=off, 1=on):
-cat /sys/devices/platform/acer-wmi/threeg
-
-To enable the 3G card:
-echo 1 > /sys/devices/platform/acer-wmi/threeg
-
-To disable the 3G card:
-echo 0 > /sys/devices/platform/acer-wmi/threeg
-
-To set the state of the 3G card when loading acer-wmi, pass:
-threeg=X (where X is 0 or 1)
-
-Mail LED
-********
-
-This can be found in most older Acer laptops supported by acer-wmi, and many
-newer ones - it is built into the 'mail' button, and blinks when active.
-
-On newer (WMID) laptops though, we have no way of detecting the mail LED. If
-your laptop identifies itself in dmesg as a WMID model, then please try loading
-acer_acpi with:
-
-force_series=2490
-
-This will use a known alternative method of reading/ writing the mail LED. If
-it works, please report back to me with the DMI data from your laptop so this
-can be added to acer-wmi.
-
-The LED is exposed through the LED subsystem, and can be found in:
-
-/sys/devices/platform/acer-wmi/leds/acer-wmi::mail/
-
-The mail LED is autodetected, so if you don't have one, the LED device won't
-be registered.
-
-Backlight
-*********
-
-The backlight brightness control is available on all acer-wmi supported
-hardware. The maximum brightness level is usually 15, but on some newer laptops
-it's 10 (this is again autodetected).
-
-The backlight is exposed through the backlight subsystem, and can be found in:
-
-/sys/devices/platform/acer-wmi/backlight/acer-wmi/
-
-Credits
-*******
-
-Olaf Tauber, who did the real hard work when he developed acerhk
-http://www.cakey.de/acerhk/
-All the authors of laptop ACPI modules in the kernel, whose work
-was an inspiration in the early days of acer_acpi
-Mathieu Segaud, who solved the problem with having to modprobe the driver
-twice in acer_acpi 0.2.
-Jim Ramsay, who added support for the WMID interface
-Mark Smith, who started the original acer_acpi
-
-And the many people who have used both acer_acpi and acer-wmi.
index 2e94220898d74f03017d5ef25bf9ab3940a6da08..29801f760b6ff59c74a7e94ae05210ee437bfc8e 100644 (file)
@@ -223,10 +223,8 @@ S: Maintained
 F:     drivers/platform/x86/acerhdf.c
 
 ACER WMI LAPTOP EXTRAS
-M:     Carlos Corbacho <carlos@strangeworlds.co.uk>
-L:     aceracpi@googlegroups.com (subscribers-only)
+M:     Joey Lee <jlee@novell.com>
 L:     platform-driver-x86@vger.kernel.org
-W:     http://code.google.com/p/aceracpi
 S:     Maintained
 F:     drivers/platform/x86/acer-wmi.c
 
@@ -271,10 +269,8 @@ S: Supported
 F:     drivers/acpi/video.c
 
 ACPI WMI DRIVER
-M:     Carlos Corbacho <carlos@strangeworlds.co.uk>
 L:     platform-driver-x86@vger.kernel.org
-W:     http://www.lesswatts.org/projects/acpi/
-S:     Maintained
+S:     Orphan
 F:     drivers/platform/x86/wmi.c
 
 AD1889 ALSA SOUND DRIVER
@@ -3033,9 +3029,8 @@ S:        Maintained
 F:     drivers/net/wireless/hostap/
 
 HP COMPAQ TC1100 TABLET WMI EXTRAS DRIVER
-M:     Carlos Corbacho <carlos@strangeworlds.co.uk>
 L:     platform-driver-x86@vger.kernel.org
-S:     Odd Fixes
+S:     Orphan
 F:     drivers/platform/x86/tc1100-wmi.c
 
 HP100: Driver for HP 10/100 Mbit/s Voice Grade Network Adapter Series
index 5cb999b50f95a7580d90fe6ea3675282ccdea6f4..45e0191c35ddff9f977af6d07a6876e47e0f1bce 100644 (file)
@@ -39,7 +39,7 @@ config ACER_WMI
 
 config ACERHDF
        tristate "Acer Aspire One temperature and fan driver"
-       depends on THERMAL && THERMAL_HWMON && ACPI
+       depends on THERMAL && ACPI
        ---help---
          This is a driver for Acer Aspire One netbooks. It allows to access
          the temperature sensor and to control the fan.
@@ -760,4 +760,13 @@ config MXM_WMI
           MXM is a standard for laptop graphics cards, the WMI interface
          is required for switchable nvidia graphics machines
 
+config INTEL_OAKTRAIL
+       tristate "Intel Oaktrail Platform Extras"
+       depends on ACPI
+       depends on RFKILL && BACKLIGHT_CLASS_DEVICE && ACPI
+       ---help---
+         Intel Oaktrail platform need this driver to provide interfaces to
+         enable/disable the Camera, WiFi, BT etc. devices. If in doubt, say Y
+         here; it will only load on supported platforms.
+
 endif # X86_PLATFORM_DEVICES
index a7ab3bc7b3a182cefb4eefa38f5d0263dfe37a23..afc1f832aa67df8639131835bbd2416bb5ac7774 100644 (file)
@@ -41,5 +41,6 @@ obj-$(CONFIG_XO1_RFKILL)      += xo1-rfkill.o
 obj-$(CONFIG_XO15_EBOOK)       += xo15-ebook.o
 obj-$(CONFIG_IBM_RTL)          += ibm_rtl.o
 obj-$(CONFIG_SAMSUNG_LAPTOP)   += samsung-laptop.o
-obj-$(CONFIG_INTEL_MFLD_THERMAL)       += intel_mid_thermal.o
 obj-$(CONFIG_MXM_WMI)          += mxm-wmi.o
+obj-$(CONFIG_INTEL_MID_POWER_BUTTON)   += intel_mid_powerbtn.o
+obj-$(CONFIG_INTEL_OAKTRAIL)   += intel_oaktrail.o
index ac4e7f83ce6c8a4914af0e2df7080bd956b26f6f..005417bd429e815f24cce88c23b4f53ef46afc74 100644 (file)
@@ -98,13 +98,26 @@ enum acer_wmi_event_ids {
 
 static const struct key_entry acer_wmi_keymap[] = {
        {KE_KEY, 0x01, {KEY_WLAN} },     /* WiFi */
+       {KE_KEY, 0x03, {KEY_WLAN} },     /* WiFi */
        {KE_KEY, 0x12, {KEY_BLUETOOTH} },       /* BT */
        {KE_KEY, 0x21, {KEY_PROG1} },    /* Backup */
        {KE_KEY, 0x22, {KEY_PROG2} },    /* Arcade */
        {KE_KEY, 0x23, {KEY_PROG3} },    /* P_Key */
        {KE_KEY, 0x24, {KEY_PROG4} },    /* Social networking_Key */
+       {KE_IGNORE, 0x41, {KEY_MUTE} },
+       {KE_IGNORE, 0x42, {KEY_PREVIOUSSONG} },
+       {KE_IGNORE, 0x43, {KEY_NEXTSONG} },
+       {KE_IGNORE, 0x44, {KEY_PLAYPAUSE} },
+       {KE_IGNORE, 0x45, {KEY_STOP} },
+       {KE_IGNORE, 0x48, {KEY_VOLUMEUP} },
+       {KE_IGNORE, 0x49, {KEY_VOLUMEDOWN} },
+       {KE_IGNORE, 0x61, {KEY_SWITCHVIDEOMODE} },
+       {KE_IGNORE, 0x62, {KEY_BRIGHTNESSUP} },
+       {KE_IGNORE, 0x63, {KEY_BRIGHTNESSDOWN} },
        {KE_KEY, 0x64, {KEY_SWITCHVIDEOMODE} }, /* Display Switch */
+       {KE_IGNORE, 0x81, {KEY_SLEEP} },
        {KE_KEY, 0x82, {KEY_TOUCHPAD_TOGGLE} }, /* Touch Pad On/Off */
+       {KE_IGNORE, 0x83, {KEY_TOUCHPAD_TOGGLE} },
        {KE_END, 0}
 };
 
@@ -122,6 +135,7 @@ struct event_return_value {
  */
 #define ACER_WMID3_GDS_WIRELESS                (1<<0)  /* WiFi */
 #define ACER_WMID3_GDS_THREEG          (1<<6)  /* 3G */
+#define ACER_WMID3_GDS_WIMAX           (1<<7)  /* WiMAX */
 #define ACER_WMID3_GDS_BLUETOOTH       (1<<11) /* BT */
 
 struct lm_input_params {
@@ -737,8 +751,11 @@ WMI_execute_u32(u32 method_id, u32 in, u32 *out)
 
        obj = (union acpi_object *) result.pointer;
        if (obj && obj->type == ACPI_TYPE_BUFFER &&
-               obj->buffer.length == sizeof(u32)) {
+               (obj->buffer.length == sizeof(u32) ||
+               obj->buffer.length == sizeof(u64))) {
                tmp = *((u32 *) obj->buffer.pointer);
+       } else if (obj->type == ACPI_TYPE_INTEGER) {
+               tmp = (u32) obj->integer.value;
        } else {
                tmp = 0;
        }
@@ -866,8 +883,11 @@ static acpi_status WMID_set_capabilities(void)
 
        obj = (union acpi_object *) out.pointer;
        if (obj && obj->type == ACPI_TYPE_BUFFER &&
-               obj->buffer.length == sizeof(u32)) {
+               (obj->buffer.length == sizeof(u32) ||
+               obj->buffer.length == sizeof(u64))) {
                devices = *((u32 *) obj->buffer.pointer);
+       } else if (obj->type == ACPI_TYPE_INTEGER) {
+               devices = (u32) obj->integer.value;
        } else {
                kfree(out.pointer);
                return AE_ERROR;
@@ -876,7 +896,8 @@ static acpi_status WMID_set_capabilities(void)
        dmi_walk(type_aa_dmi_decode, NULL);
        if (!has_type_aa) {
                interface->capability |= ACER_CAP_WIRELESS;
-               interface->capability |= ACER_CAP_THREEG;
+               if (devices & 0x40)
+                       interface->capability |= ACER_CAP_THREEG;
                if (devices & 0x10)
                        interface->capability |= ACER_CAP_BLUETOOTH;
        }
@@ -961,10 +982,12 @@ static void __init acer_commandline_init(void)
         * These will all fail silently if the value given is invalid, or the
         * capability isn't available on the given interface
         */
-       set_u32(mailled, ACER_CAP_MAILLED);
-       if (!has_type_aa)
+       if (mailled >= 0)
+               set_u32(mailled, ACER_CAP_MAILLED);
+       if (!has_type_aa && threeg >= 0)
                set_u32(threeg, ACER_CAP_THREEG);
-       set_u32(brightness, ACER_CAP_BRIGHTNESS);
+       if (brightness >= 0)
+               set_u32(brightness, ACER_CAP_BRIGHTNESS);
 }
 
 /*
@@ -1081,7 +1104,7 @@ static acpi_status wmid3_get_device_status(u32 *value, u16 device)
                return AE_ERROR;
        }
        if (obj->buffer.length != 8) {
-               pr_warning("Unknown buffer length %d\n", obj->buffer.length);
+               pr_warn("Unknown buffer length %d\n", obj->buffer.length);
                kfree(obj);
                return AE_ERROR;
        }
@@ -1090,8 +1113,8 @@ static acpi_status wmid3_get_device_status(u32 *value, u16 device)
        kfree(obj);
 
        if (return_value.error_code || return_value.ec_return_value)
-               pr_warning("Get Device Status failed: "
-                       "0x%x - 0x%x\n", return_value.error_code,
+               pr_warn("Get Device Status failed: 0x%x - 0x%x\n",
+                       return_value.error_code,
                        return_value.ec_return_value);
        else
                *value = !!(return_value.devices & device);
@@ -1124,6 +1147,114 @@ static acpi_status get_device_status(u32 *value, u32 cap)
        }
 }
 
+static acpi_status wmid3_set_device_status(u32 value, u16 device)
+{
+       struct wmid3_gds_return_value return_value;
+       acpi_status status;
+       union acpi_object *obj;
+       u16 devices;
+       struct wmid3_gds_input_param params = {
+               .function_num = 0x1,
+               .hotkey_number = 0x01,
+               .devices = ACER_WMID3_GDS_WIRELESS &
+                               ACER_WMID3_GDS_THREEG &
+                               ACER_WMID3_GDS_WIMAX &
+                               ACER_WMID3_GDS_BLUETOOTH,
+       };
+       struct acpi_buffer input = {
+               sizeof(struct wmid3_gds_input_param),
+               &params
+       };
+       struct acpi_buffer output = { ACPI_ALLOCATE_BUFFER, NULL };
+       struct acpi_buffer output2 = { ACPI_ALLOCATE_BUFFER, NULL };
+
+       status = wmi_evaluate_method(WMID_GUID3, 0, 0x2, &input, &output);
+       if (ACPI_FAILURE(status))
+               return status;
+
+       obj = output.pointer;
+
+       if (!obj)
+               return AE_ERROR;
+       else if (obj->type != ACPI_TYPE_BUFFER) {
+               kfree(obj);
+               return AE_ERROR;
+       }
+       if (obj->buffer.length != 8) {
+               pr_warning("Unknown buffer length %d\n", obj->buffer.length);
+               kfree(obj);
+               return AE_ERROR;
+       }
+
+       return_value = *((struct wmid3_gds_return_value *)obj->buffer.pointer);
+       kfree(obj);
+
+       if (return_value.error_code || return_value.ec_return_value) {
+               pr_warning("Get Current Device Status failed: "
+                       "0x%x - 0x%x\n", return_value.error_code,
+                       return_value.ec_return_value);
+               return status;
+       }
+
+       devices = return_value.devices;
+       params.function_num = 0x2;
+       params.hotkey_number = 0x01;
+       params.devices = (value) ? (devices | device) : (devices & ~device);
+
+       status = wmi_evaluate_method(WMID_GUID3, 0, 0x1, &input, &output2);
+       if (ACPI_FAILURE(status))
+               return status;
+
+       obj = output2.pointer;
+
+       if (!obj)
+               return AE_ERROR;
+       else if (obj->type != ACPI_TYPE_BUFFER) {
+               kfree(obj);
+               return AE_ERROR;
+       }
+       if (obj->buffer.length != 4) {
+               pr_warning("Unknown buffer length %d\n", obj->buffer.length);
+               kfree(obj);
+               return AE_ERROR;
+       }
+
+       return_value = *((struct wmid3_gds_return_value *)obj->buffer.pointer);
+       kfree(obj);
+
+       if (return_value.error_code || return_value.ec_return_value)
+               pr_warning("Set Device Status failed: "
+                       "0x%x - 0x%x\n", return_value.error_code,
+                       return_value.ec_return_value);
+
+       return status;
+}
+
+static acpi_status set_device_status(u32 value, u32 cap)
+{
+       if (wmi_has_guid(WMID_GUID3)) {
+               u16 device;
+
+               switch (cap) {
+               case ACER_CAP_WIRELESS:
+                       device = ACER_WMID3_GDS_WIRELESS;
+                       break;
+               case ACER_CAP_BLUETOOTH:
+                       device = ACER_WMID3_GDS_BLUETOOTH;
+                       break;
+               case ACER_CAP_THREEG:
+                       device = ACER_WMID3_GDS_THREEG;
+                       break;
+               default:
+                       return AE_ERROR;
+               }
+               return wmid3_set_device_status(value, device);
+
+       } else {
+               return set_u32(value, cap);
+       }
+}
+
 /*
  * Rfkill devices
  */
@@ -1160,7 +1291,7 @@ static int acer_rfkill_set(void *data, bool blocked)
        u32 cap = (unsigned long)data;
 
        if (rfkill_inited) {
-               status = set_u32(!blocked, cap);
+               status = set_device_status(!blocked, cap);
                if (ACPI_FAILURE(status))
                        return -ENODEV;
        }
@@ -1317,7 +1448,7 @@ static void acer_wmi_notify(u32 value, void *context)
 
        status = wmi_get_event_data(value, &response);
        if (status != AE_OK) {
-               pr_warning("bad event status 0x%x\n", status);
+               pr_warn("bad event status 0x%x\n", status);
                return;
        }
 
@@ -1326,12 +1457,12 @@ static void acer_wmi_notify(u32 value, void *context)
        if (!obj)
                return;
        if (obj->type != ACPI_TYPE_BUFFER) {
-               pr_warning("Unknown response received %d\n", obj->type);
+               pr_warn("Unknown response received %d\n", obj->type);
                kfree(obj);
                return;
        }
        if (obj->buffer.length != 8) {
-               pr_warning("Unknown buffer length %d\n", obj->buffer.length);
+               pr_warn("Unknown buffer length %d\n", obj->buffer.length);
                kfree(obj);
                return;
        }
@@ -1343,7 +1474,7 @@ static void acer_wmi_notify(u32 value, void *context)
        case WMID_HOTKEY_EVENT:
                if (return_value.device_state) {
                        u16 device_state = return_value.device_state;
-                       pr_debug("deivces states: 0x%x\n", device_state);
+                       pr_debug("device state: 0x%x\n", device_state);
                        if (has_cap(ACER_CAP_WIRELESS))
                                rfkill_set_sw_state(wireless_rfkill,
                                !(device_state & ACER_WMID3_GDS_WIRELESS));
@@ -1356,11 +1487,11 @@ static void acer_wmi_notify(u32 value, void *context)
                }
                if (!sparse_keymap_report_event(acer_wmi_input_dev,
                                return_value.key_num, 1, true))
-                       pr_warning("Unknown key number - 0x%x\n",
+                       pr_warn("Unknown key number - 0x%x\n",
                                return_value.key_num);
                break;
        default:
-               pr_warning("Unknown function number - %d - %d\n",
+               pr_warn("Unknown function number - %d - %d\n",
                        return_value.function, return_value.key_num);
                break;
        }
@@ -1389,7 +1520,7 @@ wmid3_set_lm_mode(struct lm_input_params *params,
                return AE_ERROR;
        }
        if (obj->buffer.length != 4) {
-               pr_warning("Unknown buffer length %d\n", obj->buffer.length);
+               pr_warn("Unknown buffer length %d\n", obj->buffer.length);
                kfree(obj);
                return AE_ERROR;
        }
@@ -1414,11 +1545,11 @@ static int acer_wmi_enable_ec_raw(void)
        status = wmid3_set_lm_mode(&params, &return_value);
 
        if (return_value.error_code || return_value.ec_return_value)
-               pr_warning("Enabling EC raw mode failed: "
-                      "0x%x - 0x%x\n", return_value.error_code,
-                      return_value.ec_return_value);
+               pr_warn("Enabling EC raw mode failed: 0x%x - 0x%x\n",
+                       return_value.error_code,
+                       return_value.ec_return_value);
        else
-               pr_info("Enabled EC raw mode");
+               pr_info("Enabled EC raw mode\n");
 
        return status;
 }
@@ -1437,9 +1568,9 @@ static int acer_wmi_enable_lm(void)
        status = wmid3_set_lm_mode(&params, &return_value);
 
        if (return_value.error_code || return_value.ec_return_value)
-               pr_warning("Enabling Launch Manager failed: "
-                      "0x%x - 0x%x\n", return_value.error_code,
-                      return_value.ec_return_value);
+               pr_warn("Enabling Launch Manager failed: 0x%x - 0x%x\n",
+                       return_value.error_code,
+                       return_value.ec_return_value);
 
        return status;
 }
@@ -1506,8 +1637,11 @@ static u32 get_wmid_devices(void)
 
        obj = (union acpi_object *) out.pointer;
        if (obj && obj->type == ACPI_TYPE_BUFFER &&
-               obj->buffer.length == sizeof(u32)) {
+               (obj->buffer.length == sizeof(u32) ||
+               obj->buffer.length == sizeof(u64))) {
                devices = *((u32 *) obj->buffer.pointer);
+       } else if (obj->type == ACPI_TYPE_INTEGER) {
+               devices = (u32) obj->integer.value;
        }
 
        kfree(out.pointer);
index 60f9cfcac93ff83e36c730eb555a5c65a066a12b..fca3489218b76b0c48a08fb5ef2cc0e0ad3250ed 100644 (file)
 
 #include <linux/kernel.h>
 #include <linux/module.h>
-#include <linux/fs.h>
 #include <linux/dmi.h>
-#include <acpi/acpi_drivers.h>
-#include <linux/sched.h>
+#include <linux/acpi.h>
 #include <linux/thermal.h>
 #include <linux/platform_device.h>
 
index c53b3ff7978a52cd339db953f65a307c128f66a7..d65df92e2acc63fb9eea85d82434c359ed8654fd 100644 (file)
@@ -318,7 +318,7 @@ static int acpi_check_handle(acpi_handle handle, const char *method,
 
        if (status != AE_OK) {
                if (ret)
-                       pr_warning("Error finding %s\n", method);
+                       pr_warn("Error finding %s\n", method);
                return -ENODEV;
        }
        return 0;
@@ -383,7 +383,7 @@ static int asus_kled_lvl(struct asus_laptop *asus)
        rv = acpi_evaluate_integer(asus->handle, METHOD_KBD_LIGHT_GET,
                                   &params, &kblv);
        if (ACPI_FAILURE(rv)) {
-               pr_warning("Error reading kled level\n");
+               pr_warn("Error reading kled level\n");
                return -ENODEV;
        }
        return kblv;
@@ -397,7 +397,7 @@ static int asus_kled_set(struct asus_laptop *asus, int kblv)
                kblv = 0;
 
        if (write_acpi_int(asus->handle, METHOD_KBD_LIGHT_SET, kblv)) {
-               pr_warning("Keyboard LED display write failed\n");
+               pr_warn("Keyboard LED display write failed\n");
                return -EINVAL;
        }
        return 0;
@@ -531,7 +531,7 @@ static int asus_read_brightness(struct backlight_device *bd)
        rv = acpi_evaluate_integer(asus->handle, METHOD_BRIGHTNESS_GET,
                                   NULL, &value);
        if (ACPI_FAILURE(rv))
-               pr_warning("Error reading brightness\n");
+               pr_warn("Error reading brightness\n");
 
        return value;
 }
@@ -541,7 +541,7 @@ static int asus_set_brightness(struct backlight_device *bd, int value)
        struct asus_laptop *asus = bl_get_data(bd);
 
        if (write_acpi_int(asus->handle, METHOD_BRIGHTNESS_SET, value)) {
-               pr_warning("Error changing brightness\n");
+               pr_warn("Error changing brightness\n");
                return -EIO;
        }
        return 0;
@@ -730,7 +730,7 @@ static ssize_t store_ledd(struct device *dev, struct device_attribute *attr,
        rv = parse_arg(buf, count, &value);
        if (rv > 0) {
                if (write_acpi_int(asus->handle, METHOD_LEDD, value)) {
-                       pr_warning("LED display write failed\n");
+                       pr_warn("LED display write failed\n");
                        return -ENODEV;
                }
                asus->ledd_status = (u32) value;
@@ -752,7 +752,7 @@ static int asus_wireless_status(struct asus_laptop *asus, int mask)
        rv = acpi_evaluate_integer(asus->handle, METHOD_WL_STATUS,
                                   NULL, &status);
        if (ACPI_FAILURE(rv)) {
-               pr_warning("Error reading Wireless status\n");
+               pr_warn("Error reading Wireless status\n");
                return -EINVAL;
        }
        return !!(status & mask);
@@ -764,7 +764,7 @@ static int asus_wireless_status(struct asus_laptop *asus, int mask)
 static int asus_wlan_set(struct asus_laptop *asus, int status)
 {
        if (write_acpi_int(asus->handle, METHOD_WLAN, !!status)) {
-               pr_warning("Error setting wlan status to %d", status);
+               pr_warn("Error setting wlan status to %d\n", status);
                return -EIO;
        }
        return 0;
@@ -792,7 +792,7 @@ static ssize_t store_wlan(struct device *dev, struct device_attribute *attr,
 static int asus_bluetooth_set(struct asus_laptop *asus, int status)
 {
        if (write_acpi_int(asus->handle, METHOD_BLUETOOTH, !!status)) {
-               pr_warning("Error setting bluetooth status to %d", status);
+               pr_warn("Error setting bluetooth status to %d\n", status);
                return -EIO;
        }
        return 0;
@@ -821,7 +821,7 @@ static ssize_t store_bluetooth(struct device *dev,
 static int asus_wimax_set(struct asus_laptop *asus, int status)
 {
        if (write_acpi_int(asus->handle, METHOD_WIMAX, !!status)) {
-               pr_warning("Error setting wimax status to %d", status);
+               pr_warn("Error setting wimax status to %d\n", status);
                return -EIO;
        }
        return 0;
@@ -850,7 +850,7 @@ static ssize_t store_wimax(struct device *dev,
 static int asus_wwan_set(struct asus_laptop *asus, int status)
 {
        if (write_acpi_int(asus->handle, METHOD_WWAN, !!status)) {
-               pr_warning("Error setting wwan status to %d", status);
+               pr_warn("Error setting wwan status to %d\n", status);
                return -EIO;
        }
        return 0;
@@ -880,7 +880,7 @@ static void asus_set_display(struct asus_laptop *asus, int value)
 {
        /* no sanity check needed for now */
        if (write_acpi_int(asus->handle, METHOD_SWITCH_DISPLAY, value))
-               pr_warning("Error setting display\n");
+               pr_warn("Error setting display\n");
        return;
 }
 
@@ -909,7 +909,7 @@ static ssize_t store_disp(struct device *dev, struct device_attribute *attr,
 static void asus_als_switch(struct asus_laptop *asus, int value)
 {
        if (write_acpi_int(asus->handle, METHOD_ALS_CONTROL, value))
-               pr_warning("Error setting light sensor switch\n");
+               pr_warn("Error setting light sensor switch\n");
        asus->light_switch = value;
 }
 
@@ -937,7 +937,7 @@ static ssize_t store_lssw(struct device *dev, struct device_attribute *attr,
 static void asus_als_level(struct asus_laptop *asus, int value)
 {
        if (write_acpi_int(asus->handle, METHOD_ALS_LEVEL, value))
-               pr_warning("Error setting light sensor level\n");
+               pr_warn("Error setting light sensor level\n");
        asus->light_level = value;
 }
 
@@ -976,7 +976,7 @@ static int asus_gps_status(struct asus_laptop *asus)
        rv = acpi_evaluate_integer(asus->handle, METHOD_GPS_STATUS,
                                   NULL, &status);
        if (ACPI_FAILURE(rv)) {
-               pr_warning("Error reading GPS status\n");
+               pr_warn("Error reading GPS status\n");
                return -ENODEV;
        }
        return !!status;
@@ -1284,7 +1284,7 @@ static int asus_laptop_get_info(struct asus_laptop *asus)
         */
        status = acpi_get_table(ACPI_SIG_DSDT, 1, &asus->dsdt_info);
        if (ACPI_FAILURE(status))
-               pr_warning("Couldn't get the DSDT table header\n");
+               pr_warn("Couldn't get the DSDT table header\n");
 
        /* We have to write 0 on init this far for all ASUS models */
        if (write_acpi_int_ret(asus->handle, "INIT", 0, &buffer)) {
@@ -1296,7 +1296,7 @@ static int asus_laptop_get_info(struct asus_laptop *asus)
        status =
            acpi_evaluate_integer(asus->handle, "BSTS", NULL, &bsts_result);
        if (ACPI_FAILURE(status))
-               pr_warning("Error calling BSTS\n");
+               pr_warn("Error calling BSTS\n");
        else if (bsts_result)
                pr_notice("BSTS called, 0x%02x returned\n",
                       (uint) bsts_result);
index 832a3fd7c1c8538ef77fd26c628e0ddd2c1644d6..00460cb9587b753119696647844759200a1bc8c8 100644 (file)
@@ -425,7 +425,7 @@ static void asus_rfkill_hotplug(struct asus_wmi *asus)
        if (asus->hotplug_slot) {
                bus = pci_find_bus(0, 1);
                if (!bus) {
-                       pr_warning("Unable to find PCI bus 1?\n");
+                       pr_warn("Unable to find PCI bus 1?\n");
                        goto out_unlock;
                }
 
@@ -436,12 +436,12 @@ static void asus_rfkill_hotplug(struct asus_wmi *asus)
                absent = (l == 0xffffffff);
 
                if (blocked != absent) {
-                       pr_warning("BIOS says wireless lan is %s, "
-                                  "but the pci device is %s\n",
-                                  blocked ? "blocked" : "unblocked",
-                                  absent ? "absent" : "present");
-                       pr_warning("skipped wireless hotplug as probably "
-                                  "inappropriate for this model\n");
+                       pr_warn("BIOS says wireless lan is %s, "
+                               "but the pci device is %s\n",
+                               blocked ? "blocked" : "unblocked",
+                               absent ? "absent" : "present");
+                       pr_warn("skipped wireless hotplug as probably "
+                               "inappropriate for this model\n");
                        goto out_unlock;
                }
 
@@ -500,7 +500,7 @@ static int asus_register_rfkill_notifier(struct asus_wmi *asus, char *node)
                                                     ACPI_SYSTEM_NOTIFY,
                                                     asus_rfkill_notify, asus);
                if (ACPI_FAILURE(status))
-                       pr_warning("Failed to register notify on %s\n", node);
+                       pr_warn("Failed to register notify on %s\n", node);
        } else
                return -ENODEV;
 
@@ -1223,7 +1223,7 @@ static int asus_wmi_sysfs_init(struct platform_device *device)
 /*
  * Platform device
  */
-static int __init asus_wmi_platform_init(struct asus_wmi *asus)
+static int asus_wmi_platform_init(struct asus_wmi *asus)
 {
        int rv;
 
@@ -1583,12 +1583,12 @@ static int asus_wmi_probe(struct platform_device *pdev)
        int ret;
 
        if (!wmi_has_guid(ASUS_WMI_MGMT_GUID)) {
-               pr_warning("Management GUID not found\n");
+               pr_warn("Management GUID not found\n");
                return -ENODEV;
        }
 
        if (wdrv->event_guid && !wmi_has_guid(wdrv->event_guid)) {
-               pr_warning("Event GUID not found\n");
+               pr_warn("Event GUID not found\n");
                return -ENODEV;
        }
 
index f503607c0645b015e46fdc963f22fa6e3ba8725c..d9312b3073e5f31f87a36530f07afac51b7264ca 100644 (file)
@@ -30,6 +30,8 @@
  *
  */
 
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/slab.h>
@@ -581,8 +583,7 @@ static int read_led(const char *ledname, int ledmask)
                if (read_acpi_int(NULL, ledname, &led_status))
                        return led_status;
                else
-                       printk(KERN_WARNING "Asus ACPI: Error reading LED "
-                              "status\n");
+                       pr_warn("Error reading LED status\n");
        }
        return (hotk->status & ledmask) ? 1 : 0;
 }
@@ -621,8 +622,7 @@ write_led(const char __user *buffer, unsigned long count,
                led_out = !led_out;
 
        if (!write_acpi_int(hotk->handle, ledname, led_out, NULL))
-               printk(KERN_WARNING "Asus ACPI: LED (%s) write failed\n",
-                      ledname);
+               pr_warn("LED (%s) write failed\n", ledname);
 
        return rv;
 }
@@ -679,8 +679,7 @@ static ssize_t ledd_proc_write(struct file *file, const char __user *buffer,
        if (rv > 0) {
                if (!write_acpi_int
                    (hotk->handle, hotk->methods->mt_ledd, value, NULL))
-                       printk(KERN_WARNING
-                              "Asus ACPI: LED display write failed\n");
+                       pr_warn("LED display write failed\n");
                else
                        hotk->ledd_status = (u32) value;
        }
@@ -838,8 +837,7 @@ static int get_lcd_state(void)
        } else {
                /* We don't have to check anything if we are here */
                if (!read_acpi_int(NULL, hotk->methods->lcd_status, &lcd))
-                       printk(KERN_WARNING
-                              "Asus ACPI: Error reading LCD status\n");
+                       pr_warn("Error reading LCD status\n");
 
                if (hotk->model == L2D)
                        lcd = ~lcd;
@@ -871,7 +869,7 @@ static int set_lcd_state(int value)
                           the exact behaviour is simulated here */
                }
                if (ACPI_FAILURE(status))
-                       printk(KERN_WARNING "Asus ACPI: Error switching LCD\n");
+                       pr_warn("Error switching LCD\n");
        }
        return 0;
 
@@ -915,13 +913,11 @@ static int read_brightness(struct backlight_device *bd)
        if (hotk->methods->brightness_get) {    /* SPLV/GPLV laptop */
                if (!read_acpi_int(hotk->handle, hotk->methods->brightness_get,
                                   &value))
-                       printk(KERN_WARNING
-                              "Asus ACPI: Error reading brightness\n");
+                       pr_warn("Error reading brightness\n");
        } else if (hotk->methods->brightness_status) {  /* For D1 for example */
                if (!read_acpi_int(NULL, hotk->methods->brightness_status,
                                   &value))
-                       printk(KERN_WARNING
-                              "Asus ACPI: Error reading brightness\n");
+                       pr_warn("Error reading brightness\n");
        } else                  /* No GPLV method */
                value = hotk->brightness;
        return value;
@@ -939,8 +935,7 @@ static int set_brightness(int value)
        if (hotk->methods->brightness_set) {
                if (!write_acpi_int(hotk->handle, hotk->methods->brightness_set,
                                    value, NULL)) {
-                       printk(KERN_WARNING
-                              "Asus ACPI: Error changing brightness\n");
+                       pr_warn("Error changing brightness\n");
                        ret = -EIO;
                }
                goto out;
@@ -955,8 +950,7 @@ static int set_brightness(int value)
                                              NULL, NULL);
                (value > 0) ? value-- : value++;
                if (ACPI_FAILURE(status)) {
-                       printk(KERN_WARNING
-                              "Asus ACPI: Error changing brightness\n");
+                       pr_warn("Error changing brightness\n");
                        ret = -EIO;
                }
        }
@@ -1008,7 +1002,7 @@ static void set_display(int value)
        /* no sanity check needed for now */
        if (!write_acpi_int(hotk->handle, hotk->methods->display_set,
                            value, NULL))
-               printk(KERN_WARNING "Asus ACPI: Error setting display\n");
+               pr_warn("Error setting display\n");
        return;
 }
 
@@ -1021,8 +1015,7 @@ static int disp_proc_show(struct seq_file *m, void *v)
        int value = 0;
 
        if (!read_acpi_int(hotk->handle, hotk->methods->display_get, &value))
-               printk(KERN_WARNING
-                      "Asus ACPI: Error reading display status\n");
+               pr_warn("Error reading display status\n");
        value &= 0x07;  /* needed for some models, shouldn't hurt others */
        seq_printf(m, "%d\n", value);
        return 0;
@@ -1068,7 +1061,7 @@ asus_proc_add(char *name, const struct file_operations *proc_fops, mode_t mode,
        proc = proc_create_data(name, mode, acpi_device_dir(device),
                                proc_fops, acpi_driver_data(device));
        if (!proc) {
-               printk(KERN_WARNING "  Unable to create %s fs entry\n", name);
+               pr_warn("  Unable to create %s fs entry\n", name);
                return -1;
        }
        proc->uid = asus_uid;
@@ -1085,8 +1078,8 @@ static int asus_hotk_add_fs(struct acpi_device *device)
                mode = S_IFREG | S_IRUGO | S_IWUSR | S_IWGRP;
        } else {
                mode = S_IFREG | S_IRUSR | S_IRGRP | S_IWUSR | S_IWGRP;
-               printk(KERN_WARNING "  asus_uid and asus_gid parameters are "
-                      "deprecated, use chown and chmod instead!\n");
+               pr_warn("  asus_uid and asus_gid parameters are "
+                       "deprecated, use chown and chmod instead!\n");
        }
 
        acpi_device_dir(device) = asus_proc_dir;
@@ -1099,8 +1092,7 @@ static int asus_hotk_add_fs(struct acpi_device *device)
                proc->uid = asus_uid;
                proc->gid = asus_gid;
        } else {
-               printk(KERN_WARNING "  Unable to create " PROC_INFO
-                      " fs entry\n");
+               pr_warn("  Unable to create " PROC_INFO " fs entry\n");
        }
 
        if (hotk->methods->mt_wled) {
@@ -1283,20 +1275,19 @@ static int asus_hotk_get_info(void)
         */
        status = acpi_get_table(ACPI_SIG_DSDT, 1, &asus_info);
        if (ACPI_FAILURE(status))
-               printk(KERN_WARNING "  Couldn't get the DSDT table header\n");
+               pr_warn("  Couldn't get the DSDT table header\n");
 
        /* We have to write 0 on init this far for all ASUS models */
        if (!write_acpi_int(hotk->handle, "INIT", 0, &buffer)) {
-               printk(KERN_ERR "  Hotkey initialization failed\n");
+               pr_err("  Hotkey initialization failed\n");
                return -ENODEV;
        }
 
        /* This needs to be called for some laptops to init properly */
        if (!read_acpi_int(hotk->handle, "BSTS", &bsts_result))
-               printk(KERN_WARNING "  Error calling BSTS\n");
+               pr_warn("  Error calling BSTS\n");
        else if (bsts_result)
-               printk(KERN_NOTICE "  BSTS called, 0x%02x returned\n",
-                      bsts_result);
+               pr_notice("  BSTS called, 0x%02x returned\n", bsts_result);
 
        /*
         * Try to match the object returned by INIT to the specific model.
@@ -1324,23 +1315,21 @@ static int asus_hotk_get_info(void)
                if (asus_info &&
                    strncmp(asus_info->oem_table_id, "ODEM", 4) == 0) {
                        hotk->model = P30;
-                       printk(KERN_NOTICE
-                              "  Samsung P30 detected, supported\n");
+                       pr_notice("  Samsung P30 detected, supported\n");
                        hotk->methods = &model_conf[hotk->model];
                        kfree(model);
                        return 0;
                } else {
                        hotk->model = M2E;
-                       printk(KERN_NOTICE "  unsupported model %s, trying "
-                              "default values\n", string);
-                       printk(KERN_NOTICE
-                              "  send /proc/acpi/dsdt to the developers\n");
+                       pr_notice("  unsupported model %s, trying default values\n",
+                                 string);
+                       pr_notice("  send /proc/acpi/dsdt to the developers\n");
                        kfree(model);
                        return -ENODEV;
                }
        }
        hotk->methods = &model_conf[hotk->model];
-       printk(KERN_NOTICE "  %s model detected, supported\n", string);
+       pr_notice("  %s model detected, supported\n", string);
 
        /* Sort of per-model blacklist */
        if (strncmp(string, "L2B", 3) == 0)
@@ -1385,7 +1374,7 @@ static int asus_hotk_check(void)
        if (hotk->device->status.present) {
                result = asus_hotk_get_info();
        } else {
-               printk(KERN_ERR "  Hotkey device not present, aborting\n");
+               pr_err("  Hotkey device not present, aborting\n");
                return -EINVAL;
        }
 
@@ -1399,8 +1388,7 @@ static int asus_hotk_add(struct acpi_device *device)
        acpi_status status = AE_OK;
        int result;
 
-       printk(KERN_NOTICE "Asus Laptop ACPI Extras version %s\n",
-              ASUS_ACPI_VERSION);
+       pr_notice("Asus Laptop ACPI Extras version %s\n", ASUS_ACPI_VERSION);
 
        hotk = kzalloc(sizeof(struct asus_hotk), GFP_KERNEL);
        if (!hotk)
@@ -1428,15 +1416,14 @@ static int asus_hotk_add(struct acpi_device *device)
                    acpi_evaluate_object(NULL, hotk->methods->brightness_down,
                                         NULL, NULL);
                if (ACPI_FAILURE(status))
-                       printk(KERN_WARNING "  Error changing brightness\n");
+                       pr_warn("  Error changing brightness\n");
                else {
                        status =
                            acpi_evaluate_object(NULL,
                                                 hotk->methods->brightness_up,
                                                 NULL, NULL);
                        if (ACPI_FAILURE(status))
-                               printk(KERN_WARNING "  Strange, error changing"
-                                      " brightness\n");
+                               pr_warn("  Strange, error changing brightness\n");
                }
        }
 
@@ -1488,7 +1475,7 @@ static int __init asus_acpi_init(void)
 
        asus_proc_dir = proc_mkdir(PROC_ASUS, acpi_root_dir);
        if (!asus_proc_dir) {
-               printk(KERN_ERR "Asus ACPI: Unable to create /proc entry\n");
+               pr_err("Unable to create /proc entry\n");
                acpi_bus_unregister_driver(&asus_hotk_driver);
                return -ENODEV;
        }
@@ -1513,7 +1500,7 @@ static int __init asus_acpi_init(void)
                                                          &asus_backlight_data,
                                                          &props);
        if (IS_ERR(asus_backlight_device)) {
-               printk(KERN_ERR "Could not register asus backlight device\n");
+               pr_err("Could not register asus backlight device\n");
                asus_backlight_device = NULL;
                asus_acpi_exit();
                return -ENODEV;
index c16a27641cedc57888fcc88b160aabec098520fd..4c4a7422c5e827bbb5ff4d2e824a02ad452b1a43 100644 (file)
@@ -68,6 +68,8 @@
  * only enabled on a JHL90 board until it is verified that they work on the
  * other boards too.  See the extra_features variable. */
 
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
 #include <linux/module.h>
 #include <linux/kernel.h>
 #include <linux/init.h>
@@ -760,16 +762,14 @@ static struct rfkill *bt_rfkill;
 
 static int dmi_check_cb(const struct dmi_system_id *id)
 {
-       printk(KERN_INFO DRIVER_NAME": Identified laptop model '%s'\n",
-               id->ident);
+       pr_info("Identified laptop model '%s'\n", id->ident);
        extra_features = false;
        return 1;
 }
 
 static int dmi_check_cb_extra(const struct dmi_system_id *id)
 {
-       printk(KERN_INFO DRIVER_NAME": Identified laptop model '%s', "
-               "enabling extra features\n",
+       pr_info("Identified laptop model '%s', enabling extra features\n",
                id->ident);
        extra_features = true;
        return 1;
@@ -956,14 +956,12 @@ static int __init compal_init(void)
        int ret;
 
        if (acpi_disabled) {
-               printk(KERN_ERR DRIVER_NAME": ACPI needs to be enabled for "
-                                               "this driver to work!\n");
+               pr_err("ACPI needs to be enabled for this driver to work!\n");
                return -ENODEV;
        }
 
        if (!force && !dmi_check_system(compal_dmi_table)) {
-               printk(KERN_ERR DRIVER_NAME": Motherboard not recognized (You "
-                               "could try the module's force-parameter)");
+               pr_err("Motherboard not recognized (You could try the module's force-parameter)\n");
                return -ENODEV;
        }
 
@@ -998,8 +996,7 @@ static int __init compal_init(void)
        if (ret)
                goto err_rfkill;
 
-       printk(KERN_INFO DRIVER_NAME": Driver "DRIVER_VERSION
-                                               " successfully loaded\n");
+       pr_info("Driver " DRIVER_VERSION " successfully loaded\n");
        return 0;
 
 err_rfkill:
@@ -1064,7 +1061,7 @@ static void __exit compal_cleanup(void)
        rfkill_destroy(wifi_rfkill);
        rfkill_destroy(bt_rfkill);
 
-       printk(KERN_INFO DRIVER_NAME": Driver unloaded\n");
+       pr_info("Driver unloaded\n");
 }
 
 static int __devexit compal_remove(struct platform_device *pdev)
@@ -1074,8 +1071,7 @@ static int __devexit compal_remove(struct platform_device *pdev)
        if (!extra_features)
                return 0;
 
-       printk(KERN_INFO DRIVER_NAME": Unloading: resetting fan control "
-                                                       "to motherboard\n");
+       pr_info("Unloading: resetting fan control to motherboard\n");
        pwm_disable_control();
 
        data = platform_get_drvdata(pdev);
index de301aa8e5c3799620ff5a06372b5e1942c2dab2..d3841de6a8cf199ec08b24bd85f50a0af0490d37 100644 (file)
@@ -11,6 +11,8 @@
  *  published by the Free Software Foundation.
  */
 
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
 #include <linux/module.h>
 #include <linux/kernel.h>
 #include <linux/init.h>
@@ -434,8 +436,7 @@ static int __init dell_setup_rfkill(void)
        int ret;
 
        if (dmi_check_system(dell_blacklist)) {
-               printk(KERN_INFO "dell-laptop: Blacklisted hardware detected - "
-                               "not enabling rfkill\n");
+               pr_info("Blacklisted hardware detected - not enabling rfkill\n");
                return 0;
        }
 
@@ -606,7 +607,7 @@ static int __init dell_init(void)
        dmi_walk(find_tokens, NULL);
 
        if (!da_tokens)  {
-               printk(KERN_INFO "dell-laptop: Unable to find dmi tokens\n");
+               pr_info("Unable to find dmi tokens\n");
                return -ENODEV;
        }
 
@@ -636,14 +637,13 @@ static int __init dell_init(void)
        ret = dell_setup_rfkill();
 
        if (ret) {
-               printk(KERN_WARNING "dell-laptop: Unable to setup rfkill\n");
+               pr_warn("Unable to setup rfkill\n");
                goto fail_rfkill;
        }
 
        ret = i8042_install_filter(dell_laptop_i8042_filter);
        if (ret) {
-               printk(KERN_WARNING
-                      "dell-laptop: Unable to install key filter\n");
+               pr_warn("Unable to install key filter\n");
                goto fail_filter;
        }
 
index 0ed84573ae1fb625663ed00755a316669649be27..3f945457f71c218116e7f8eb9d4a7400fcdc8b62 100644 (file)
@@ -15,6 +15,7 @@
  *  along with this program; if not, write to the Free Software
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
+
 #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
 
 #include <linux/kernel.h>
@@ -138,7 +139,7 @@ static int __init dell_wmi_aio_init(void)
 
        guid = dell_wmi_aio_find();
        if (!guid) {
-               pr_warning("No known WMI GUID found\n");
+               pr_warn("No known WMI GUID found\n");
                return -ENXIO;
        }
 
index 77f1d55414c670b126f41cce7356dbbd14b1cd13..ce790827e199ab4d4d9784850023ac4321c7bcc2 100644 (file)
@@ -23,6 +23,8 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/init.h>
@@ -141,7 +143,7 @@ static void dell_wmi_notify(u32 value, void *context)
 
        status = wmi_get_event_data(value, &response);
        if (status != AE_OK) {
-               printk(KERN_INFO "dell-wmi: bad event status 0x%x\n", status);
+               pr_info("bad event status 0x%x\n", status);
                return;
        }
 
@@ -153,8 +155,8 @@ static void dell_wmi_notify(u32 value, void *context)
                u16 *buffer_entry = (u16 *)obj->buffer.pointer;
 
                if (dell_new_hk_type && (buffer_entry[1] != 0x10)) {
-                       printk(KERN_INFO "dell-wmi: Received unknown WMI event"
-                                        " (0x%x)\n", buffer_entry[1]);
+                       pr_info("Received unknown WMI event (0x%x)\n",
+                               buffer_entry[1]);
                        kfree(obj);
                        return;
                }
@@ -167,8 +169,7 @@ static void dell_wmi_notify(u32 value, void *context)
                key = sparse_keymap_entry_from_scancode(dell_wmi_input_dev,
                                                        reported_key);
                if (!key) {
-                       printk(KERN_INFO "dell-wmi: Unknown key %x pressed\n",
-                               reported_key);
+                       pr_info("Unknown key %x pressed\n", reported_key);
                } else if ((key->keycode == KEY_BRIGHTNESSUP ||
                            key->keycode == KEY_BRIGHTNESSDOWN) && acpi_video) {
                        /* Don't report brightness notifications that will also
@@ -275,7 +276,7 @@ static int __init dell_wmi_init(void)
        acpi_status status;
 
        if (!wmi_has_guid(DELL_EVENT_GUID)) {
-               printk(KERN_WARNING "dell-wmi: No known WMI GUID found\n");
+               pr_warn("No known WMI GUID found\n");
                return -ENODEV;
        }
 
@@ -290,9 +291,7 @@ static int __init dell_wmi_init(void)
                                         dell_wmi_notify, NULL);
        if (ACPI_FAILURE(status)) {
                dell_wmi_input_destroy();
-               printk(KERN_ERR
-                       "dell-wmi: Unable to register notify handler - %d\n",
-                       status);
+               pr_err("Unable to register notify handler - %d\n", status);
                return -ENODEV;
        }
 
index 2c1abf63957f23d0353c209af843f8e8bcf3c50c..1c45d92e21638230728a1f2919b1cc776360c937 100644 (file)
@@ -228,7 +228,7 @@ static int set_acpi(struct eeepc_laptop *eeepc, int cm, int value)
                return -ENODEV;
 
        if (write_acpi_int(eeepc->handle, method, value))
-               pr_warning("Error writing %s\n", method);
+               pr_warn("Error writing %s\n", method);
        return 0;
 }
 
@@ -243,7 +243,7 @@ static int get_acpi(struct eeepc_laptop *eeepc, int cm)
                return -ENODEV;
 
        if (read_acpi_int(eeepc->handle, method, &value))
-               pr_warning("Error reading %s\n", method);
+               pr_warn("Error reading %s\n", method);
        return value;
 }
 
@@ -261,7 +261,7 @@ static int acpi_setter_handle(struct eeepc_laptop *eeepc, int cm,
        status = acpi_get_handle(eeepc->handle, (char *)method,
                                 handle);
        if (status != AE_OK) {
-               pr_warning("Error finding %s\n", method);
+               pr_warn("Error finding %s\n", method);
                return -ENODEV;
        }
        return 0;
@@ -417,7 +417,7 @@ static ssize_t store_cpufv_disabled(struct device *dev,
        switch (value) {
        case 0:
                if (eeepc->cpufv_disabled)
-                       pr_warning("cpufv enabled (not officially supported "
+                       pr_warn("cpufv enabled (not officially supported "
                                "on this model)\n");
                eeepc->cpufv_disabled = false;
                return rv;
@@ -609,7 +609,7 @@ static void eeepc_rfkill_hotplug(struct eeepc_laptop *eeepc, acpi_handle handle)
                bus = port->subordinate;
 
                if (!bus) {
-                       pr_warning("Unable to find PCI bus?\n");
+                       pr_warn("Unable to find PCI bus 1?\n");
                        goto out_unlock;
                }
 
@@ -621,12 +621,12 @@ static void eeepc_rfkill_hotplug(struct eeepc_laptop *eeepc, acpi_handle handle)
                absent = (l == 0xffffffff);
 
                if (blocked != absent) {
-                       pr_warning("BIOS says wireless lan is %s, "
-                                       "but the pci device is %s\n",
+                       pr_warn("BIOS says wireless lan is %s, "
+                               "but the pci device is %s\n",
                                blocked ? "blocked" : "unblocked",
                                absent ? "absent" : "present");
-                       pr_warning("skipped wireless hotplug as probably "
-                                       "inappropriate for this model\n");
+                       pr_warn("skipped wireless hotplug as probably "
+                               "inappropriate for this model\n");
                        goto out_unlock;
                }
 
@@ -691,7 +691,8 @@ static int eeepc_register_rfkill_notifier(struct eeepc_laptop *eeepc,
                                                     eeepc_rfkill_notify,
                                                     eeepc);
                if (ACPI_FAILURE(status))
-                       pr_warning("Failed to register notify on %s\n", node);
+                       pr_warn("Failed to register notify on %s\n", node);
+
                /*
                 * Refresh pci hotplug in case the rfkill state was
                 * changed during setup.
index 649dcadd8ea372973cd45db1b5b8274847baff36..4aa867a9b88b8411f5231e9ac7a4298ffc9b8860 100644 (file)
@@ -84,7 +84,7 @@ static const struct key_entry eeepc_wmi_keymap[] = {
 static acpi_status eeepc_wmi_parse_device(acpi_handle handle, u32 level,
                                                 void *context, void **retval)
 {
-       pr_warning("Found legacy ATKD device (%s)", EEEPC_ACPI_HID);
+       pr_warn("Found legacy ATKD device (%s)\n", EEEPC_ACPI_HID);
        *(bool *)context = true;
        return AE_CTRL_TERMINATE;
 }
@@ -105,12 +105,12 @@ static int eeepc_wmi_check_atkd(void)
 static int eeepc_wmi_probe(struct platform_device *pdev)
 {
        if (eeepc_wmi_check_atkd()) {
-               pr_warning("WMI device present, but legacy ATKD device is also "
-                          "present and enabled.");
-               pr_warning("You probably booted with acpi_osi=\"Linux\" or "
-                          "acpi_osi=\"!Windows 2009\"");
-               pr_warning("Can't load eeepc-wmi, use default acpi_osi "
-                          "(preferred) or eeepc-laptop");
+               pr_warn("WMI device present, but legacy ATKD device is also "
+                       "present and enabled\n");
+               pr_warn("You probably booted with acpi_osi=\"Linux\" or "
+                       "acpi_osi=\"!Windows 2009\"\n");
+               pr_warn("Can't load eeepc-wmi, use default acpi_osi "
+                       "(preferred) or eeepc-laptop\n");
                return -EBUSY;
        }
        return 0;
index 493054c2dbe15ec114922ce6446ad5f75b21beaa..6b26666b37f21d63665d20724fdba709f5523973 100644 (file)
@@ -56,6 +56,8 @@
  *
  */
 
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
 #include <linux/module.h>
 #include <linux/kernel.h>
 #include <linux/init.h>
@@ -585,8 +587,7 @@ static struct platform_driver fujitsupf_driver = {
 static void dmi_check_cb_common(const struct dmi_system_id *id)
 {
        acpi_handle handle;
-       printk(KERN_INFO "fujitsu-laptop: Identified laptop model '%s'.\n",
-              id->ident);
+       pr_info("Identified laptop model '%s'\n", id->ident);
        if (use_alt_lcd_levels == -1) {
                if (ACPI_SUCCESS(acpi_get_handle(NULL,
                                "\\_SB.PCI0.LPCB.FJEX.SBL2", &handle)))
@@ -691,11 +692,11 @@ static int acpi_fujitsu_add(struct acpi_device *device)
 
        result = acpi_bus_update_power(fujitsu->acpi_handle, &state);
        if (result) {
-               printk(KERN_ERR "Error reading power state\n");
+               pr_err("Error reading power state\n");
                goto err_unregister_input_dev;
        }
 
-       printk(KERN_INFO "ACPI: %s [%s] (%s)\n",
+       pr_info("ACPI: %s [%s] (%s)\n",
               acpi_device_name(device), acpi_device_bid(device),
               !device->power.state ? "on" : "off");
 
@@ -707,7 +708,7 @@ static int acpi_fujitsu_add(struct acpi_device *device)
                if (ACPI_FAILURE
                    (acpi_evaluate_object
                     (device->handle, METHOD_NAME__INI, NULL, NULL)))
-                       printk(KERN_ERR "_INI Method failed\n");
+                       pr_err("_INI Method failed\n");
        }
 
        /* do config (detect defaults) */
@@ -827,7 +828,7 @@ static int acpi_fujitsu_hotkey_add(struct acpi_device *device)
        error = kfifo_alloc(&fujitsu_hotkey->fifo, RINGBUFFERSIZE * sizeof(int),
                        GFP_KERNEL);
        if (error) {
-               printk(KERN_ERR "kfifo_alloc failed\n");
+               pr_err("kfifo_alloc failed\n");
                goto err_stop;
        }
 
@@ -859,13 +860,13 @@ static int acpi_fujitsu_hotkey_add(struct acpi_device *device)
 
        result = acpi_bus_update_power(fujitsu_hotkey->acpi_handle, &state);
        if (result) {
-               printk(KERN_ERR "Error reading power state\n");
+               pr_err("Error reading power state\n");
                goto err_unregister_input_dev;
        }
 
-       printk(KERN_INFO "ACPI: %s [%s] (%s)\n",
-              acpi_device_name(device), acpi_device_bid(device),
-              !device->power.state ? "on" : "off");
+       pr_info("ACPI: %s [%s] (%s)\n",
+               acpi_device_name(device), acpi_device_bid(device),
+               !device->power.state ? "on" : "off");
 
        fujitsu_hotkey->dev = device;
 
@@ -875,7 +876,7 @@ static int acpi_fujitsu_hotkey_add(struct acpi_device *device)
                if (ACPI_FAILURE
                    (acpi_evaluate_object
                     (device->handle, METHOD_NAME__INI, NULL, NULL)))
-                       printk(KERN_ERR "_INI Method failed\n");
+                       pr_err("_INI Method failed\n");
        }
 
        i = 0;
@@ -897,8 +898,7 @@ static int acpi_fujitsu_hotkey_add(struct acpi_device *device)
                        call_fext_func(FUNC_RFKILL, 0x4, 0x0, 0x0);
 
        /* Suspect this is a keymap of the application panel, print it */
-       printk(KERN_INFO "fujitsu-laptop: BTNI: [0x%x]\n",
-               call_fext_func(FUNC_BUTTONS, 0x0, 0x0, 0x0));
+       pr_info("BTNI: [0x%x]\n", call_fext_func(FUNC_BUTTONS, 0x0, 0x0, 0x0));
 
 #if defined(CONFIG_LEDS_CLASS) || defined(CONFIG_LEDS_CLASS_MODULE)
        if (call_fext_func(FUNC_LEDS, 0x0, 0x0, 0x0) & LOGOLAMP_POWERON) {
@@ -907,8 +907,8 @@ static int acpi_fujitsu_hotkey_add(struct acpi_device *device)
                if (result == 0) {
                        fujitsu_hotkey->logolamp_registered = 1;
                } else {
-                       printk(KERN_ERR "fujitsu-laptop: Could not register "
-                       "LED handler for logo lamp, error %i\n", result);
+                       pr_err("Could not register LED handler for logo lamp, error %i\n",
+                              result);
                }
        }
 
@@ -919,8 +919,8 @@ static int acpi_fujitsu_hotkey_add(struct acpi_device *device)
                if (result == 0) {
                        fujitsu_hotkey->kblamps_registered = 1;
                } else {
-                       printk(KERN_ERR "fujitsu-laptop: Could not register "
-                       "LED handler for keyboard lamps, error %i\n", result);
+                       pr_err("Could not register LED handler for keyboard lamps, error %i\n",
+                              result);
                }
        }
 #endif
@@ -1169,8 +1169,7 @@ static int __init fujitsu_init(void)
                        fujitsu->bl_device->props.power = 0;
        }
 
-       printk(KERN_INFO "fujitsu-laptop: driver " FUJITSU_DRIVER_VERSION
-              " successfully loaded.\n");
+       pr_info("driver " FUJITSU_DRIVER_VERSION " successfully loaded\n");
 
        return 0;
 
@@ -1216,7 +1215,7 @@ static void __exit fujitsu_cleanup(void)
 
        kfree(fujitsu);
 
-       printk(KERN_INFO "fujitsu-laptop: driver unloaded.\n");
+       pr_info("driver unloaded\n");
 }
 
 module_init(fujitsu_init);
index 067bf36d32f31087f7e59ce12851a156b7196773..5a34973dc16486aeb701cd5dd0e0cc59372a0eb5 100644 (file)
@@ -26,6 +26,8 @@
  * 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
  */
 
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
 #include <linux/delay.h>
 #include <linux/platform_device.h>
 #include <linux/input-polldev.h>
@@ -238,7 +240,7 @@ static int hdaps_device_init(void)
                     __check_latch(0x1611, 0x01))
                goto out;
 
-       printk(KERN_DEBUG "hdaps: initial latch check good (0x%02x).\n",
+       printk(KERN_DEBUG "hdaps: initial latch check good (0x%02x)\n",
               __get_latch(0x1611));
 
        outb(0x17, 0x1610);
@@ -299,7 +301,7 @@ static int hdaps_probe(struct platform_device *dev)
        if (ret)
                return ret;
 
-       printk(KERN_INFO "hdaps: device successfully initialized.\n");
+       pr_info("device successfully initialized\n");
        return 0;
 }
 
@@ -480,7 +482,7 @@ static struct attribute_group hdaps_attribute_group = {
 /* hdaps_dmi_match - found a match.  return one, short-circuiting the hunt. */
 static int __init hdaps_dmi_match(const struct dmi_system_id *id)
 {
-       printk(KERN_INFO "hdaps: %s detected.\n", id->ident);
+       pr_info("%s detected\n", id->ident);
        return 1;
 }
 
@@ -488,8 +490,7 @@ static int __init hdaps_dmi_match(const struct dmi_system_id *id)
 static int __init hdaps_dmi_match_invert(const struct dmi_system_id *id)
 {
        hdaps_invert = (unsigned long)id->driver_data;
-       printk(KERN_INFO "hdaps: inverting axis (%u) readings.\n",
-              hdaps_invert);
+       pr_info("inverting axis (%u) readings\n", hdaps_invert);
        return hdaps_dmi_match(id);
 }
 
@@ -543,7 +544,7 @@ static int __init hdaps_init(void)
        int ret;
 
        if (!dmi_check_system(hdaps_whitelist)) {
-               printk(KERN_WARNING "hdaps: supported laptop not found!\n");
+               pr_warn("supported laptop not found!\n");
                ret = -ENODEV;
                goto out;
        }
@@ -595,7 +596,7 @@ static int __init hdaps_init(void)
        if (ret)
                goto out_idev;
 
-       printk(KERN_INFO "hdaps: driver successfully loaded.\n");
+       pr_info("driver successfully loaded\n");
        return 0;
 
 out_idev:
@@ -609,7 +610,7 @@ out_driver:
 out_region:
        release_region(HDAPS_LOW_PORT, HDAPS_NR_PORTS);
 out:
-       printk(KERN_WARNING "hdaps: driver init failed (ret=%d)!\n", ret);
+       pr_warn("driver init failed (ret=%d)!\n", ret);
        return ret;
 }
 
@@ -622,7 +623,7 @@ static void __exit hdaps_exit(void)
        platform_driver_unregister(&hdaps_driver);
        release_region(HDAPS_LOW_PORT, HDAPS_NR_PORTS);
 
-       printk(KERN_INFO "hdaps: driver unloaded.\n");
+       pr_info("driver unloaded\n");
 }
 
 module_init(hdaps_init);
index 1bc4a7539ba93f9b9f9cbdd74244b90a67302435..f94017bcdd6e9c8b10d80c70f7fd56ed27788d83 100644 (file)
@@ -24,6 +24,8 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/init.h>
@@ -54,9 +56,6 @@ MODULE_ALIAS("wmi:5FB7F034-2C63-45e9-BE91-3D44E2C707E4");
 #define HPWMI_HOTKEY_QUERY 0xc
 #define HPWMI_WIRELESS2_QUERY 0x1b
 
-#define PREFIX "HP WMI: "
-#define UNIMP "Unimplemented "
-
 enum hp_wmi_radio {
        HPWMI_WIFI = 0,
        HPWMI_BLUETOOTH = 1,
@@ -228,9 +227,8 @@ static int hp_wmi_perform_query(int query, int write, void *buffer,
 
        if (bios_return->return_code) {
                if (bios_return->return_code != HPWMI_RET_UNKNOWN_CMDTYPE)
-                       printk(KERN_WARNING PREFIX "query 0x%x returned "
-                                                  "error 0x%x\n",
-                              query, bios_return->return_code);
+                       pr_warn("query 0x%x returned error 0x%x\n",
+                               query, bios_return->return_code);
                kfree(obj);
                return bios_return->return_code;
        }
@@ -384,8 +382,7 @@ static int hp_wmi_rfkill2_refresh(void)
 
                if (num >= state.count ||
                    devstate->rfkill_id != rfkill2[i].id) {
-                       printk(KERN_WARNING PREFIX "power configuration of "
-                              "the wireless devices unexpectedly changed\n");
+                       pr_warn("power configuration of the wireless devices unexpectedly changed\n");
                        continue;
                }
 
@@ -471,7 +468,7 @@ static void hp_wmi_notify(u32 value, void *context)
 
        status = wmi_get_event_data(value, &response);
        if (status != AE_OK) {
-               printk(KERN_INFO PREFIX "bad event status 0x%x\n", status);
+               pr_info("bad event status 0x%x\n", status);
                return;
        }
 
@@ -480,8 +477,7 @@ static void hp_wmi_notify(u32 value, void *context)
        if (!obj)
                return;
        if (obj->type != ACPI_TYPE_BUFFER) {
-               printk(KERN_INFO "hp-wmi: Unknown response received %d\n",
-                      obj->type);
+               pr_info("Unknown response received %d\n", obj->type);
                kfree(obj);
                return;
        }
@@ -498,8 +494,7 @@ static void hp_wmi_notify(u32 value, void *context)
                event_id = *location;
                event_data = *(location + 2);
        } else {
-               printk(KERN_INFO "hp-wmi: Unknown buffer length %d\n",
-                      obj->buffer.length);
+               pr_info("Unknown buffer length %d\n", obj->buffer.length);
                kfree(obj);
                return;
        }
@@ -527,8 +522,7 @@ static void hp_wmi_notify(u32 value, void *context)
 
                if (!sparse_keymap_report_event(hp_wmi_input_dev,
                                                key_code, 1, true))
-                       printk(KERN_INFO PREFIX "Unknown key code - 0x%x\n",
-                              key_code);
+                       pr_info("Unknown key code - 0x%x\n", key_code);
                break;
        case HPWMI_WIRELESS:
                if (rfkill2_count) {
@@ -550,14 +544,12 @@ static void hp_wmi_notify(u32 value, void *context)
                                          hp_wmi_get_hw_state(HPWMI_WWAN));
                break;
        case HPWMI_CPU_BATTERY_THROTTLE:
-               printk(KERN_INFO PREFIX UNIMP "CPU throttle because of 3 Cell"
-                      " battery event detected\n");
+               pr_info("Unimplemented CPU throttle because of 3 Cell battery event detected\n");
                break;
        case HPWMI_LOCK_SWITCH:
                break;
        default:
-               printk(KERN_INFO PREFIX "Unknown event_id - %d - 0x%x\n",
-                      event_id, event_data);
+               pr_info("Unknown event_id - %d - 0x%x\n", event_id, event_data);
                break;
        }
 }
@@ -705,7 +697,7 @@ static int __devinit hp_wmi_rfkill2_setup(struct platform_device *device)
                return err;
 
        if (state.count > HPWMI_MAX_RFKILL2_DEVICES) {
-               printk(KERN_WARNING PREFIX "unable to parse 0x1b query output\n");
+               pr_warn("unable to parse 0x1b query output\n");
                return -EINVAL;
        }
 
@@ -727,14 +719,14 @@ static int __devinit hp_wmi_rfkill2_setup(struct platform_device *device)
                        name = "hp-wwan";
                        break;
                default:
-                       printk(KERN_WARNING PREFIX "unknown device type 0x%x\n",
-                                state.device[i].radio_type);
+                       pr_warn("unknown device type 0x%x\n",
+                               state.device[i].radio_type);
                        continue;
                }
 
                if (!state.device[i].vendor_id) {
-                       printk(KERN_WARNING PREFIX "zero device %d while %d "
-                              "reported\n", i, state.count);
+                       pr_warn("zero device %d while %d reported\n",
+                               i, state.count);
                        continue;
                }
 
@@ -755,8 +747,7 @@ static int __devinit hp_wmi_rfkill2_setup(struct platform_device *device)
                                    IS_HWBLOCKED(state.device[i].power));
 
                if (!(state.device[i].power & HPWMI_POWER_BIOS))
-                       printk(KERN_INFO PREFIX "device %s blocked by BIOS\n",
-                              name);
+                       pr_info("device %s blocked by BIOS\n", name);
 
                err = rfkill_register(rfkill);
                if (err) {
index b1396e5b295307ac42f89d5d98ef8f6e61015d0f..811d436cd677a0c1bab06cc7caa1e3d7ce317d67 100644 (file)
@@ -22,6 +22,8 @@
  *
  */
 
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
 #include <linux/kernel.h>
 #include <linux/delay.h>
 #include <linux/module.h>
@@ -69,9 +71,10 @@ struct ibm_rtl_table {
 #define RTL_SIGNATURE 0x0000005f4c54525fULL
 #define RTL_MASK      0x000000ffffffffffULL
 
-#define RTL_DEBUG(A, ...) do { \
-       if (debug) \
-               pr_info("ibm-rtl: " A, ##__VA_ARGS__ ); \
+#define RTL_DEBUG(fmt, ...)                            \
+do {                                                   \
+       if (debug)                                      \
+               pr_info(fmt, ##__VA_ARGS__);            \
 } while (0)
 
 static DEFINE_MUTEX(rtl_lock);
@@ -114,7 +117,7 @@ static int ibm_rtl_write(u8 value)
        int ret = 0, count = 0;
        static u32 cmd_port_val;
 
-       RTL_DEBUG("%s(%d)\n", __FUNCTION__, value);
+       RTL_DEBUG("%s(%d)\n", __func__, value);
 
        value = value == 1 ? RTL_CMD_ENTER_PRTM : RTL_CMD_EXIT_PRTM;
 
@@ -144,8 +147,8 @@ static int ibm_rtl_write(u8 value)
                while (ioread8(&rtl_table->command)) {
                        msleep(10);
                        if (count++ > 500) {
-                               pr_err("ibm-rtl: Hardware not responding to "
-                                       "mode switch request\n");
+                               pr_err("Hardware not responding to "
+                                      "mode switch request\n");
                                ret = -EIO;
                                break;
                        }
@@ -250,7 +253,7 @@ static int __init ibm_rtl_init(void) {
        int ret = -ENODEV, i;
 
        if (force)
-               pr_warning("ibm-rtl: module loaded by force\n");
+               pr_warn("module loaded by force\n");
        /* first ensure that we are running on IBM HW */
        else if (efi_enabled || !dmi_check_system(ibm_rtl_dmi_table))
                return -ENODEV;
@@ -288,19 +291,19 @@ static int __init ibm_rtl_init(void) {
                if ((readq(&tmp->signature) & RTL_MASK) == RTL_SIGNATURE) {
                        phys_addr_t addr;
                        unsigned int plen;
-                       RTL_DEBUG("found RTL_SIGNATURE at %#llx\n", (u64)tmp);
+                       RTL_DEBUG("found RTL_SIGNATURE at %p\n", tmp);
                        rtl_table = tmp;
                        /* The address, value, width and offset are platform
                         * dependent and found in the ibm_rtl_table */
                        rtl_cmd_width = ioread8(&rtl_table->cmd_granularity);
                        rtl_cmd_type = ioread8(&rtl_table->cmd_address_type);
                        RTL_DEBUG("rtl_cmd_width = %u, rtl_cmd_type = %u\n",
-                             rtl_cmd_width, rtl_cmd_type);
+                                 rtl_cmd_width, rtl_cmd_type);
                        addr = ioread32(&rtl_table->cmd_port_address);
                        RTL_DEBUG("addr = %#llx\n", (unsigned long long)addr);
                        plen = rtl_cmd_width/sizeof(char);
                        rtl_cmd_addr = rtl_port_map(addr, plen);
-                       RTL_DEBUG("rtl_cmd_addr = %#llx\n", (u64)rtl_cmd_addr);
+                       RTL_DEBUG("rtl_cmd_addr = %p\n", rtl_cmd_addr);
                        if (!rtl_cmd_addr) {
                                ret = -ENOMEM;
                                break;
index 21b101899baeeb76e718c80c089caa2c8553c848..bfdda33feb26547dea8a5187543bb4b58de38f01 100644 (file)
@@ -20,6 +20,8 @@
  *  02110-1301, USA.
  */
 
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/init.h>
index eacd5da7dd2434b8475b6e4cc89d9ee6d6145b20..809adea4965f96a8fca6f703fd94b40523d33072 100644 (file)
@@ -27,6 +27,8 @@
  *  to get/set bandwidth.
  */
 
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/init.h>
@@ -135,8 +137,7 @@ static int memory_set_cur_bandwidth(struct thermal_cooling_device *cdev,
            acpi_evaluate_integer(handle, MEMORY_SET_BANDWIDTH, &arg_list,
                                  &temp);
 
-       printk(KERN_INFO
-              "Bandwidth value was %ld: status is %d\n", state, status);
+       pr_info("Bandwidth value was %ld: status is %d\n", state, status);
        if (ACPI_FAILURE(status))
                return -EFAULT;
 
index 213e79ba68d517299ede2cb5702201f1da6476f6..f1ae5078b7ecfef330909061dc3e7c1f66c4183a 100644 (file)
 #include <linux/slab.h>
 #include <linux/platform_device.h>
 #include <linux/input.h>
+
 #include <asm/intel_scu_ipc.h>
 
 #define DRIVER_NAME "msic_power_btn"
 
-#define MSIC_IRQ_STAT  0x02
-  #define MSIC_IRQ_PB  (1 << 0)
-#define MSIC_PB_CONFIG 0x3e
 #define MSIC_PB_STATUS 0x3f
-  #define MSIC_PB_LEVEL (1 << 3) /* 1 - release, 0 - press */
-
-struct mfld_pb_priv {
-       struct input_dev *input;
-       unsigned int irq;
-};
+#define MSIC_PB_LEVEL  (1 << 3) /* 1 - release, 0 - press */
 
 static irqreturn_t mfld_pb_isr(int irq, void *dev_id)
 {
-       struct mfld_pb_priv *priv = dev_id;
+       struct input_dev *input = dev_id;
        int ret;
        u8 pbstat;
 
        ret = intel_scu_ipc_ioread8(MSIC_PB_STATUS, &pbstat);
-       if (ret < 0)
-               return IRQ_HANDLED;
-
-       input_event(priv->input, EV_KEY, KEY_POWER, !(pbstat & MSIC_PB_LEVEL));
-       input_sync(priv->input);
+       if (ret < 0) {
+               dev_err(input->dev.parent, "Read error %d while reading"
+                              " MSIC_PB_STATUS\n", ret);
+       } else {
+               input_event(input, EV_KEY, KEY_POWER,
+                              !(pbstat & MSIC_PB_LEVEL));
+               input_sync(input);
+       }
 
        return IRQ_HANDLED;
 }
 
 static int __devinit mfld_pb_probe(struct platform_device *pdev)
 {
-       struct mfld_pb_priv *priv;
        struct input_dev *input;
-       int irq;
+       int irq = platform_get_irq(pdev, 0);
        int error;
 
-       irq = platform_get_irq(pdev, 0);
        if (irq < 0)
                return -EINVAL;
 
-       priv = kzalloc(sizeof(struct mfld_pb_priv), GFP_KERNEL);
        input = input_allocate_device();
-       if (!priv || !input) {
-               error = -ENOMEM;
-               goto err_free_mem;
+       if (!input) {
+               dev_err(&pdev->dev, "Input device allocation error\n");
+               return -ENOMEM;
        }
 
-       priv->input = input;
-       priv->irq = irq;
-
        input->name = pdev->name;
        input->phys = "power-button/input0";
        input->id.bustype = BUS_HOST;
@@ -82,42 +72,40 @@ static int __devinit mfld_pb_probe(struct platform_device *pdev)
 
        input_set_capability(input, EV_KEY, KEY_POWER);
 
-       error = request_threaded_irq(priv->irq, NULL, mfld_pb_isr,
-                                    0, DRIVER_NAME, priv);
+       error = request_threaded_irq(irq, NULL, mfld_pb_isr, 0,
+                       DRIVER_NAME, input);
        if (error) {
-               dev_err(&pdev->dev,
-                       "unable to request irq %d for mfld power button\n",
-                       irq);
-               goto err_free_mem;
+               dev_err(&pdev->dev, "Unable to request irq %d for mfld power"
+                               "button\n", irq);
+               goto err_free_input;
        }
 
        error = input_register_device(input);
        if (error) {
-               dev_err(&pdev->dev,
-                       "unable to register input dev, error %d\n", error);
+               dev_err(&pdev->dev, "Unable to register input dev, error "
+                               "%d\n", error);
                goto err_free_irq;
        }
 
-       platform_set_drvdata(pdev, priv);
+       platform_set_drvdata(pdev, input);
        return 0;
 
 err_free_irq:
-       free_irq(priv->irq, priv);
-err_free_mem:
+       free_irq(irq, input);
+err_free_input:
        input_free_device(input);
-       kfree(priv);
        return error;
 }
 
 static int __devexit mfld_pb_remove(struct platform_device *pdev)
 {
-       struct mfld_pb_priv *priv = platform_get_drvdata(pdev);
-
-       free_irq(priv->irq, priv);
-       input_unregister_device(priv->input);
-       kfree(priv);
+       struct input_dev *input = platform_get_drvdata(pdev);
+       int irq = platform_get_irq(pdev, 0);
 
+       free_irq(irq, input);
+       input_unregister_device(input);
        platform_set_drvdata(pdev, NULL);
+
        return 0;
 }
 
index c2f4bd8013b520a549c418e7c72644030fa560f4..3a578323122b7b18750de7d31ecb570b878cef43 100644 (file)
 #include <asm/intel_scu_ipc.h>
 
 /* Number of thermal sensors */
-#define MSIC_THERMAL_SENSORS   4
+#define MSIC_THERMAL_SENSORS   4
 
 /* ADC1 - thermal registers */
-#define MSIC_THERM_ADC1CNTL1   0x1C0
-#define MSIC_ADC_ENBL          0x10
-#define MSIC_ADC_START         0x08
+#define MSIC_THERM_ADC1CNTL1   0x1C0
+#define MSIC_ADC_ENBL          0x10
+#define MSIC_ADC_START         0x08
 
-#define MSIC_THERM_ADC1CNTL3   0x1C2
-#define MSIC_ADCTHERM_ENBL     0x04
-#define MSIC_ADCRRDATA_ENBL    0x05
-#define MSIC_CHANL_MASK_VAL    0x0F
+#define MSIC_THERM_ADC1CNTL3   0x1C2
+#define MSIC_ADCTHERM_ENBL     0x04
+#define MSIC_ADCRRDATA_ENBL    0x05
+#define MSIC_CHANL_MASK_VAL    0x0F
 
-#define MSIC_STOPBIT_MASK      16
-#define MSIC_ADCTHERM_MASK     4
-#define ADC_CHANLS_MAX         15 /* Number of ADC channels */
-#define ADC_LOOP_MAX           (ADC_CHANLS_MAX - MSIC_THERMAL_SENSORS)
+#define MSIC_STOPBIT_MASK      16
+#define MSIC_ADCTHERM_MASK     4
+/* Number of ADC channels */
+#define ADC_CHANLS_MAX         15
+#define ADC_LOOP_MAX           (ADC_CHANLS_MAX - MSIC_THERMAL_SENSORS)
 
 /* ADC channel code values */
-#define SKIN_SENSOR0_CODE      0x08
-#define SKIN_SENSOR1_CODE      0x09
-#define SYS_SENSOR_CODE                0x0A
-#define MSIC_DIE_SENSOR_CODE   0x03
+#define SKIN_SENSOR0_CODE      0x08
+#define SKIN_SENSOR1_CODE      0x09
+#define SYS_SENSOR_CODE                0x0A
+#define MSIC_DIE_SENSOR_CODE   0x03
 
-#define SKIN_THERM_SENSOR0     0
-#define SKIN_THERM_SENSOR1     1
-#define SYS_THERM_SENSOR2      2
-#define MSIC_DIE_THERM_SENSOR3 3
+#define SKIN_THERM_SENSOR0     0
+#define SKIN_THERM_SENSOR1     1
+#define SYS_THERM_SENSOR2      2
+#define MSIC_DIE_THERM_SENSOR3 3
 
 /* ADC code range */
-#define ADC_MAX                        977
-#define ADC_MIN                        162
-#define ADC_VAL0C              887
-#define ADC_VAL20C             720
-#define ADC_VAL40C             508
-#define ADC_VAL60C             315
+#define ADC_MAX                        977
+#define ADC_MIN                        162
+#define ADC_VAL0C              887
+#define ADC_VAL20C             720
+#define ADC_VAL40C             508
+#define ADC_VAL60C             315
 
 /* ADC base addresses */
-#define ADC_CHNL_START_ADDR    0x1C5   /* increments by 1 */
-#define ADC_DATA_START_ADDR     0x1D4   /* increments by 2 */
+#define ADC_CHNL_START_ADDR    0x1C5   /* increments by 1 */
+#define ADC_DATA_START_ADDR    0x1D4   /* increments by 2 */
 
 /* MSIC die attributes */
-#define MSIC_DIE_ADC_MIN       488
-#define MSIC_DIE_ADC_MAX       1004
+#define MSIC_DIE_ADC_MIN       488
+#define MSIC_DIE_ADC_MAX       1004
 
 /* This holds the address of the first free ADC channel,
  * among the 15 channels
 static int channel_index;
 
 struct platform_info {
-       struct platform_device *pdev;
-       struct thermal_zone_device *tzd[MSIC_THERMAL_SENSORS];
+       struct platform_device *pdev;
+       struct thermal_zone_device *tzd[MSIC_THERMAL_SENSORS];
 };
 
 struct thermal_device_info {
-       unsigned int chnl_addr;
-       int direct;
-       /* This holds the current temperature in millidegree celsius */
-       long curr_temp;
+       unsigned int chnl_addr;
+       int direct;
+       /* This holds the current temperature in millidegree celsius */
+       long curr_temp;
 };
 
 /**
@@ -106,7 +107,7 @@ struct thermal_device_info {
  */
 static int to_msic_die_temp(uint16_t adc_val)
 {
-       return (368 * (adc_val) / 1000) - 220;
+       return (368 * (adc_val) / 1000) - 220;
 }
 
 /**
@@ -118,7 +119,7 @@ static int to_msic_die_temp(uint16_t adc_val)
  */
 static int is_valid_adc(uint16_t adc_val, uint16_t min, uint16_t max)
 {
-       return (adc_val >= min) && (adc_val <= max);
+       return (adc_val >= min) && (adc_val <= max);
 }
 
 /**
@@ -136,35 +137,35 @@ static int is_valid_adc(uint16_t adc_val, uint16_t min, uint16_t max)
  */
 static int adc_to_temp(int direct, uint16_t adc_val, unsigned long *tp)
 {
-       int temp;
-
-       /* Direct conversion for die temperature */
-       if (direct) {
-               if (is_valid_adc(adc_val, MSIC_DIE_ADC_MIN, MSIC_DIE_ADC_MAX)) {
-                       *tp = to_msic_die_temp(adc_val) * 1000;
-                       return 0;
-               }
-               return -ERANGE;
-       }
-
-       if (!is_valid_adc(adc_val, ADC_MIN, ADC_MAX))
-               return -ERANGE;
-
-       /* Linear approximation for skin temperature */
-       if (adc_val > ADC_VAL0C)
-               temp = 177 - (adc_val/5);
-       else if ((adc_val <= ADC_VAL0C) && (adc_val > ADC_VAL20C))
-               temp = 111 - (adc_val/8);
-       else if ((adc_val <= ADC_VAL20C) && (adc_val > ADC_VAL40C))
-               temp = 92 - (adc_val/10);
-       else if ((adc_val <= ADC_VAL40C) && (adc_val > ADC_VAL60C))
-               temp = 91 - (adc_val/10);
-       else
-               temp = 112 - (adc_val/6);
-
-       /* Convert temperature in celsius to milli degree celsius */
-       *tp = temp * 1000;
-       return 0;
+       int temp;
+
+       /* Direct conversion for die temperature */
+       if (direct) {
+               if (is_valid_adc(adc_val, MSIC_DIE_ADC_MIN, MSIC_DIE_ADC_MAX)) {
+                       *tp = to_msic_die_temp(adc_val) * 1000;
+                       return 0;
+               }
+               return -ERANGE;
+       }
+
+       if (!is_valid_adc(adc_val, ADC_MIN, ADC_MAX))
+               return -ERANGE;
+
+       /* Linear approximation for skin temperature */
+       if (adc_val > ADC_VAL0C)
+               temp = 177 - (adc_val/5);
+       else if ((adc_val <= ADC_VAL0C) && (adc_val > ADC_VAL20C))
+               temp = 111 - (adc_val/8);
+       else if ((adc_val <= ADC_VAL20C) && (adc_val > ADC_VAL40C))
+               temp = 92 - (adc_val/10);
+       else if ((adc_val <= ADC_VAL40C) && (adc_val > ADC_VAL60C))
+               temp = 91 - (adc_val/10);
+       else
+               temp = 112 - (adc_val/6);
+
+       /* Convert temperature in celsius to milli degree celsius */
+       *tp = temp * 1000;
+       return 0;
 }
 
 /**
@@ -178,47 +179,47 @@ static int adc_to_temp(int direct, uint16_t adc_val, unsigned long *tp)
  */
 static int mid_read_temp(struct thermal_zone_device *tzd, unsigned long *temp)
 {
-       struct thermal_device_info *td_info = tzd->devdata;
-       uint16_t adc_val, addr;
-       uint8_t data = 0;
-       int ret;
-       unsigned long curr_temp;
-
-
-       addr = td_info->chnl_addr;
-
-       /* Enable the msic for conversion before reading */
-       ret = intel_scu_ipc_iowrite8(MSIC_THERM_ADC1CNTL3, MSIC_ADCRRDATA_ENBL);
-       if (ret)
-               return ret;
-
-       /* Re-toggle the RRDATARD bit (temporary workaround) */
-       ret = intel_scu_ipc_iowrite8(MSIC_THERM_ADC1CNTL3, MSIC_ADCTHERM_ENBL);
-       if (ret)
-               return ret;
-
-       /* Read the higher bits of data */
-       ret = intel_scu_ipc_ioread8(addr, &data);
-       if (ret)
-               return ret;
-
-       /* Shift bits to accommodate the lower two data bits */
-       adc_val = (data << 2);
-       addr++;
-
-       ret = intel_scu_ipc_ioread8(addr, &data);/* Read lower bits */
-       if (ret)
-               return ret;
-
-       /* Adding lower two bits to the higher bits */
-       data &= 03;
-       adc_val += data;
-
-       /* Convert ADC value to temperature */
-       ret = adc_to_temp(td_info->direct, adc_val, &curr_temp);
-       if (ret == 0)
-               *temp = td_info->curr_temp = curr_temp;
-       return ret;
+       struct thermal_device_info *td_info = tzd->devdata;
+       uint16_t adc_val, addr;
+       uint8_t data = 0;
+       int ret;
+       unsigned long curr_temp;
+
+
+       addr = td_info->chnl_addr;
+
+       /* Enable the msic for conversion before reading */
+       ret = intel_scu_ipc_iowrite8(MSIC_THERM_ADC1CNTL3, MSIC_ADCRRDATA_ENBL);
+       if (ret)
+               return ret;
+
+       /* Re-toggle the RRDATARD bit (temporary workaround) */
+       ret = intel_scu_ipc_iowrite8(MSIC_THERM_ADC1CNTL3, MSIC_ADCTHERM_ENBL);
+       if (ret)
+               return ret;
+
+       /* Read the higher bits of data */
+       ret = intel_scu_ipc_ioread8(addr, &data);
+       if (ret)
+               return ret;
+
+       /* Shift bits to accommodate the lower two data bits */
+       adc_val = (data << 2);
+       addr++;
+
+       ret = intel_scu_ipc_ioread8(addr, &data);/* Read lower bits */
+       if (ret)
+               return ret;
+
+       /* Adding lower two bits to the higher bits */
+       data &= 03;
+       adc_val += data;
+
+       /* Convert ADC value to temperature */
+       ret = adc_to_temp(td_info->direct, adc_val, &curr_temp);
+       if (ret == 0)
+               *temp = td_info->curr_temp = curr_temp;
+       return ret;
 }
 
 /**
@@ -231,22 +232,21 @@ static int mid_read_temp(struct thermal_zone_device *tzd, unsigned long *temp)
  */
 static int configure_adc(int val)
 {
-       int ret;
-       uint8_t data;
-
-       ret = intel_scu_ipc_ioread8(MSIC_THERM_ADC1CNTL1, &data);
-       if (ret)
-               return ret;
-
-       if (val) {
-               /* Enable and start the ADC */
-               data |= (MSIC_ADC_ENBL | MSIC_ADC_START);
-       } else {
-               /* Just stop the ADC */
-               data &= (~MSIC_ADC_START);
-       }
-
-       return intel_scu_ipc_iowrite8(MSIC_THERM_ADC1CNTL1, data);
+       int ret;
+       uint8_t data;
+
+       ret = intel_scu_ipc_ioread8(MSIC_THERM_ADC1CNTL1, &data);
+       if (ret)
+               return ret;
+
+       if (val) {
+               /* Enable and start the ADC */
+               data |= (MSIC_ADC_ENBL | MSIC_ADC_START);
+       } else {
+               /* Just stop the ADC */
+               data &= (~MSIC_ADC_START);
+       }
+       return intel_scu_ipc_iowrite8(MSIC_THERM_ADC1CNTL1, data);
 }
 
 /**
@@ -259,30 +259,30 @@ static int configure_adc(int val)
  */
 static int set_up_therm_channel(u16 base_addr)
 {
-       int ret;
-
-       /* Enable all the sensor channels */
-       ret = intel_scu_ipc_iowrite8(base_addr, SKIN_SENSOR0_CODE);
-       if (ret)
-               return ret;
-
-       ret = intel_scu_ipc_iowrite8(base_addr + 1, SKIN_SENSOR1_CODE);
-       if (ret)
-               return ret;
-
-       ret = intel_scu_ipc_iowrite8(base_addr + 2, SYS_SENSOR_CODE);
-       if (ret)
-               return ret;
-
-       /* Since this is the last channel, set the stop bit
-          to 1 by ORing the DIE_SENSOR_CODE with 0x10 */
-       ret = intel_scu_ipc_iowrite8(base_addr + 3,
-                                       (MSIC_DIE_SENSOR_CODE | 0x10));
-       if (ret)
-               return ret;
-
-       /* Enable ADC and start it */
-       return configure_adc(1);
+       int ret;
+
+       /* Enable all the sensor channels */
+       ret = intel_scu_ipc_iowrite8(base_addr, SKIN_SENSOR0_CODE);
+       if (ret)
+               return ret;
+
+       ret = intel_scu_ipc_iowrite8(base_addr + 1, SKIN_SENSOR1_CODE);
+       if (ret)
+               return ret;
+
+       ret = intel_scu_ipc_iowrite8(base_addr + 2, SYS_SENSOR_CODE);
+       if (ret)
+               return ret;
+
+       /* Since this is the last channel, set the stop bit
+        * to 1 by ORing the DIE_SENSOR_CODE with 0x10 */
+       ret = intel_scu_ipc_iowrite8(base_addr + 3,
+                       (MSIC_DIE_SENSOR_CODE | 0x10));
+       if (ret)
+               return ret;
+
+       /* Enable ADC and start it */
+       return configure_adc(1);
 }
 
 /**
@@ -293,13 +293,13 @@ static int set_up_therm_channel(u16 base_addr)
  */
 static int reset_stopbit(uint16_t addr)
 {
-       int ret;
-       uint8_t data;
-       ret = intel_scu_ipc_ioread8(addr, &data);
-       if (ret)
-               return ret;
-       /* Set the stop bit to zero */
-       return intel_scu_ipc_iowrite8(addr, (data & 0xEF));
+       int ret;
+       uint8_t data;
+       ret = intel_scu_ipc_ioread8(addr, &data);
+       if (ret)
+               return ret;
+       /* Set the stop bit to zero */
+       return intel_scu_ipc_iowrite8(addr, (data & 0xEF));
 }
 
 /**
@@ -317,30 +317,30 @@ static int reset_stopbit(uint16_t addr)
  */
 static int find_free_channel(void)
 {
-       int ret;
-       int i;
-       uint8_t data;
-
-       /* check whether ADC is enabled */
-       ret = intel_scu_ipc_ioread8(MSIC_THERM_ADC1CNTL1, &data);
-       if (ret)
-               return ret;
-
-       if ((data & MSIC_ADC_ENBL) == 0)
-               return 0;
-
-       /* ADC is already enabled; Looking for an empty channel */
-       for (i = 0; i < ADC_CHANLS_MAX; i++) {
-               ret = intel_scu_ipc_ioread8(ADC_CHNL_START_ADDR + i, &data);
-               if (ret)
-                       return ret;
-
-               if (data & MSIC_STOPBIT_MASK) {
-                       ret = i;
-                       break;
-               }
-       }
-       return (ret > ADC_LOOP_MAX) ? (-EINVAL) : ret;
+       int ret;
+       int i;
+       uint8_t data;
+
+       /* check whether ADC is enabled */
+       ret = intel_scu_ipc_ioread8(MSIC_THERM_ADC1CNTL1, &data);
+       if (ret)
+               return ret;
+
+       if ((data & MSIC_ADC_ENBL) == 0)
+               return 0;
+
+       /* ADC is already enabled; Looking for an empty channel */
+       for (i = 0; i < ADC_CHANLS_MAX; i++) {
+               ret = intel_scu_ipc_ioread8(ADC_CHNL_START_ADDR + i, &data);
+               if (ret)
+                       return ret;
+
+               if (data & MSIC_STOPBIT_MASK) {
+                       ret = i;
+                       break;
+               }
+       }
+       return (ret > ADC_LOOP_MAX) ? (-EINVAL) : ret;
 }
 
 /**
@@ -351,48 +351,48 @@ static int find_free_channel(void)
  */
 static int mid_initialize_adc(struct device *dev)
 {
-       u8  data;
-       u16 base_addr;
-       int ret;
-
-       /*
-        * Ensure that adctherm is disabled before we
-        * initialize the ADC
-        */
-       ret = intel_scu_ipc_ioread8(MSIC_THERM_ADC1CNTL3, &data);
-       if (ret)
-               return ret;
-
-       if (data & MSIC_ADCTHERM_MASK)
-               dev_warn(dev, "ADCTHERM already set");
-
-       /* Index of the first channel in which the stop bit is set */
-       channel_index = find_free_channel();
-       if (channel_index < 0) {
-               dev_err(dev, "No free ADC channels");
-               return channel_index;
-       }
-
-       base_addr = ADC_CHNL_START_ADDR + channel_index;
-
-       if (!(channel_index == 0 || channel_index == ADC_LOOP_MAX)) {
-               /* Reset stop bit for channels other than 0 and 12 */
-               ret = reset_stopbit(base_addr);
-               if (ret)
-                       return ret;
-
-               /* Index of the first free channel */
-               base_addr++;
-               channel_index++;
-       }
-
-       ret = set_up_therm_channel(base_addr);
-       if (ret) {
-               dev_err(dev, "unable to enable ADC");
-               return ret;
-       }
-       dev_dbg(dev, "ADC initialization successful");
-       return ret;
+       u8  data;
+       u16 base_addr;
+       int ret;
+
+       /*
+        * Ensure that adctherm is disabled before we
+        * initialize the ADC
+        */
+       ret = intel_scu_ipc_ioread8(MSIC_THERM_ADC1CNTL3, &data);
+       if (ret)
+               return ret;
+
+       if (data & MSIC_ADCTHERM_MASK)
+               dev_warn(dev, "ADCTHERM already set");
+
+       /* Index of the first channel in which the stop bit is set */
+       channel_index = find_free_channel();
+       if (channel_index < 0) {
+               dev_err(dev, "No free ADC channels");
+               return channel_index;
+       }
+
+       base_addr = ADC_CHNL_START_ADDR + channel_index;
+
+       if (!(channel_index == 0 || channel_index == ADC_LOOP_MAX)) {
+               /* Reset stop bit for channels other than 0 and 12 */
+               ret = reset_stopbit(base_addr);
+               if (ret)
+                       return ret;
+
+               /* Index of the first free channel */
+               base_addr++;
+               channel_index++;
+       }
+
+       ret = set_up_therm_channel(base_addr);
+       if (ret) {
+               dev_err(dev, "unable to enable ADC");
+               return ret;
+       }
+       dev_dbg(dev, "ADC initialization successful");
+       return ret;
 }
 
 /**
@@ -403,18 +403,18 @@ static int mid_initialize_adc(struct device *dev)
  */
 static struct thermal_device_info *initialize_sensor(int index)
 {
-       struct thermal_device_info *td_info =
-               kzalloc(sizeof(struct thermal_device_info), GFP_KERNEL);
-
-       if (!td_info)
-               return NULL;
-
-       /* Set the base addr of the channel for this sensor */
-       td_info->chnl_addr = ADC_DATA_START_ADDR + 2 * (channel_index + index);
-       /* Sensor 3 is direct conversion */
-       if (index == 3)
-               td_info->direct = 1;
-       return td_info;
+       struct thermal_device_info *td_info =
+               kzalloc(sizeof(struct thermal_device_info), GFP_KERNEL);
+
+       if (!td_info)
+               return NULL;
+
+       /* Set the base addr of the channel for this sensor */
+       td_info->chnl_addr = ADC_DATA_START_ADDR + 2 * (channel_index + index);
+       /* Sensor 3 is direct conversion */
+       if (index == 3)
+               td_info->direct = 1;
+       return td_info;
 }
 
 /**
@@ -425,7 +425,7 @@ static struct thermal_device_info *initialize_sensor(int index)
  */
 static int mid_thermal_resume(struct platform_device *pdev)
 {
-       return mid_initialize_adc(&pdev->dev);
+       return mid_initialize_adc(&pdev->dev);
 }
 
 /**
@@ -437,12 +437,12 @@ static int mid_thermal_resume(struct platform_device *pdev)
  */
 static int mid_thermal_suspend(struct platform_device *pdev, pm_message_t mesg)
 {
-       /*
-        * This just stops the ADC and does not disable it.
-        * temporary workaround until we have a generic ADC driver.
-        * If 0 is passed, it disables the ADC.
-        */
-       return configure_adc(0);
+       /*
+        * This just stops the ADC and does not disable it.
+        * temporary workaround until we have a generic ADC driver.
+        * If 0 is passed, it disables the ADC.
+        */
+       return configure_adc(0);
 }
 
 /**
@@ -453,16 +453,15 @@ static int mid_thermal_suspend(struct platform_device *pdev, pm_message_t mesg)
  */
 static int read_curr_temp(struct thermal_zone_device *tzd, unsigned long *temp)
 {
-       WARN_ON(tzd == NULL);
-       return mid_read_temp(tzd, temp);
+       WARN_ON(tzd == NULL);
+       return mid_read_temp(tzd, temp);
 }
 
 /* Can't be const */
 static struct thermal_zone_device_ops tzd_ops = {
-       .get_temp = read_curr_temp,
+       .get_temp = read_curr_temp,
 };
 
-
 /**
  * mid_thermal_probe - mfld thermal initialize
  * @pdev: platform device structure
@@ -472,46 +471,45 @@ static struct thermal_zone_device_ops tzd_ops = {
  */
 static int mid_thermal_probe(struct platform_device *pdev)
 {
-       static char *name[MSIC_THERMAL_SENSORS] = {
-               "skin0", "skin1", "sys", "msicdie"
-       };
-
-       int ret;
-       int i;
-       struct platform_info *pinfo;
-
-       pinfo = kzalloc(sizeof(struct platform_info), GFP_KERNEL);
-       if (!pinfo)
-               return -ENOMEM;
-
-       /* Initializing the hardware */
-       ret = mid_initialize_adc(&pdev->dev);
-       if (ret) {
-               dev_err(&pdev->dev, "ADC init failed");
-               kfree(pinfo);
-               return ret;
-       }
-
-       /* Register each sensor with the generic thermal framework*/
-       for (i = 0; i < MSIC_THERMAL_SENSORS; i++) {
-               pinfo->tzd[i] = thermal_zone_device_register(name[i],
-                                       0, initialize_sensor(i),
-                                       &tzd_ops, 0, 0, 0, 0);
-               if (IS_ERR(pinfo->tzd[i]))
-                       goto reg_fail;
-       }
-
-       pinfo->pdev = pdev;
-       platform_set_drvdata(pdev, pinfo);
-       return 0;
+       static char *name[MSIC_THERMAL_SENSORS] = {
+               "skin0", "skin1", "sys", "msicdie"
+       };
+
+       int ret;
+       int i;
+       struct platform_info *pinfo;
+
+       pinfo = kzalloc(sizeof(struct platform_info), GFP_KERNEL);
+       if (!pinfo)
+               return -ENOMEM;
+
+       /* Initializing the hardware */
+       ret = mid_initialize_adc(&pdev->dev);
+       if (ret) {
+               dev_err(&pdev->dev, "ADC init failed");
+               kfree(pinfo);
+               return ret;
+       }
+
+       /* Register each sensor with the generic thermal framework*/
+       for (i = 0; i < MSIC_THERMAL_SENSORS; i++) {
+               pinfo->tzd[i] = thermal_zone_device_register(name[i],
+                               0, initialize_sensor(i), &tzd_ops, 0, 0, 0, 0);
+               if (IS_ERR(pinfo->tzd[i]))
+                       goto reg_fail;
+       }
+
+       pinfo->pdev = pdev;
+       platform_set_drvdata(pdev, pinfo);
+       return 0;
 
 reg_fail:
-       ret = PTR_ERR(pinfo->tzd[i]);
-       while (--i >= 0)
-               thermal_zone_device_unregister(pinfo->tzd[i]);
-       configure_adc(0);
-       kfree(pinfo);
-       return ret;
+       ret = PTR_ERR(pinfo->tzd[i]);
+       while (--i >= 0)
+               thermal_zone_device_unregister(pinfo->tzd[i]);
+       configure_adc(0);
+       kfree(pinfo);
+       return ret;
 }
 
 /**
@@ -523,49 +521,46 @@ reg_fail:
  */
 static int mid_thermal_remove(struct platform_device *pdev)
 {
-       int i;
-       struct platform_info *pinfo = platform_get_drvdata(pdev);
+       int i;
+       struct platform_info *pinfo = platform_get_drvdata(pdev);
 
-       for (i = 0; i < MSIC_THERMAL_SENSORS; i++)
-               thermal_zone_device_unregister(pinfo->tzd[i]);
+       for (i = 0; i < MSIC_THERMAL_SENSORS; i++)
+               thermal_zone_device_unregister(pinfo->tzd[i]);
 
-       platform_set_drvdata(pdev, NULL);
+       kfree(pinfo);
+       platform_set_drvdata(pdev, NULL);
 
-       /* Stop the ADC */
-       return configure_adc(0);
+       /* Stop the ADC */
+       return configure_adc(0);
 }
 
-/*********************************************************************
- *             Driver initialisation and finalization
- *********************************************************************/
-
 #define DRIVER_NAME "msic_sensor"
 
 static const struct platform_device_id therm_id_table[] = {
-       { DRIVER_NAME, 1 },
-       { }
+       { DRIVER_NAME, 1 },
+       { }
 };
 
 static struct platform_driver mid_thermal_driver = {
-       .driver = {
-               .name = DRIVER_NAME,
-               .owner = THIS_MODULE,
-       },
-       .probe = mid_thermal_probe,
-       .suspend = mid_thermal_suspend,
-       .resume = mid_thermal_resume,
-       .remove = __devexit_p(mid_thermal_remove),
-       .id_table = therm_id_table,
+       .driver = {
+               .name = DRIVER_NAME,
+               .owner = THIS_MODULE,
+       },
+       .probe = mid_thermal_probe,
+       .suspend = mid_thermal_suspend,
+       .resume = mid_thermal_resume,
+       .remove = __devexit_p(mid_thermal_remove),
+       .id_table = therm_id_table,
 };
 
 static int __init mid_thermal_module_init(void)
 {
-       return platform_driver_register(&mid_thermal_driver);
+       return platform_driver_register(&mid_thermal_driver);
 }
 
 static void __exit mid_thermal_module_exit(void)
 {
-       platform_driver_unregister(&mid_thermal_driver);
+       platform_driver_unregister(&mid_thermal_driver);
 }
 
 module_init(mid_thermal_module_init);
diff --git a/drivers/platform/x86/intel_oaktrail.c b/drivers/platform/x86/intel_oaktrail.c
new file mode 100644 (file)
index 0000000..e936364
--- /dev/null
@@ -0,0 +1,396 @@
+/*
+ * intel_oaktrail.c - Intel OakTrail Platform support.
+ *
+ * Copyright (C) 2010-2011 Intel Corporation
+ * Author: Yin Kangkai (kangkai.yin@intel.com)
+ *
+ * based on Compal driver, Copyright (C) 2008 Cezary Jackiewicz
+ * <cezary.jackiewicz (at) gmail.com>, based on MSI driver
+ * Copyright (C) 2006 Lennart Poettering <mzxreary (at) 0pointer (dot) de>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful, but
+ *  WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ *  General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ *  02110-1301, USA.
+ *
+ * This driver does below things:
+ * 1. registers itself in the Linux backlight control in
+ *    /sys/class/backlight/intel_oaktrail/
+ *
+ * 2. registers in the rfkill subsystem here: /sys/class/rfkill/rfkillX/
+ *    for these components: wifi, bluetooth, wwan (3g), gps
+ *
+ * This driver might work on other products based on Oaktrail. 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
+ * product as compatible.
+ */
+
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
+#include <linux/module.h>
+#include <linux/kernel.h>
+#include <linux/init.h>
+#include <linux/acpi.h>
+#include <linux/fb.h>
+#include <linux/mutex.h>
+#include <linux/err.h>
+#include <linux/i2c.h>
+#include <linux/backlight.h>
+#include <linux/platform_device.h>
+#include <linux/dmi.h>
+#include <linux/rfkill.h>
+#include <acpi/acpi_bus.h>
+#include <acpi/acpi_drivers.h>
+
+
+#define DRIVER_NAME    "intel_oaktrail"
+#define DRIVER_VERSION "0.4ac1"
+
+/*
+ * This is the devices status address in EC space, and the control bits
+ * definition:
+ *
+ * (1 << 0):   Camera enable/disable, RW.
+ * (1 << 1):   Bluetooth enable/disable, RW.
+ * (1 << 2):   GPS enable/disable, RW.
+ * (1 << 3):   WiFi enable/disable, RW.
+ * (1 << 4):   WWAN (3G) enable/disalbe, RW.
+ * (1 << 5):   Touchscreen enable/disable, Read Only.
+ */
+#define OT_EC_DEVICE_STATE_ADDRESS     0xD6
+
+#define OT_EC_CAMERA_MASK      (1 << 0)
+#define OT_EC_BT_MASK          (1 << 1)
+#define OT_EC_GPS_MASK         (1 << 2)
+#define OT_EC_WIFI_MASK                (1 << 3)
+#define OT_EC_WWAN_MASK                (1 << 4)
+#define OT_EC_TS_MASK          (1 << 5)
+
+/*
+ * This is the address in EC space and commands used to control LCD backlight:
+ *
+ * Two steps needed to change the LCD backlight:
+ *   1. write the backlight percentage into OT_EC_BL_BRIGHTNESS_ADDRESS;
+ *   2. write OT_EC_BL_CONTROL_ON_DATA into OT_EC_BL_CONTROL_ADDRESS.
+ *
+ * To read the LCD back light, just read out the value from
+ * OT_EC_BL_BRIGHTNESS_ADDRESS.
+ *
+ * LCD backlight brightness range: 0 - 100 (OT_EC_BL_BRIGHTNESS_MAX)
+ */
+#define OT_EC_BL_BRIGHTNESS_ADDRESS    0x44
+#define OT_EC_BL_BRIGHTNESS_MAX                100
+#define OT_EC_BL_CONTROL_ADDRESS       0x3A
+#define OT_EC_BL_CONTROL_ON_DATA       0x1A
+
+
+static int force;
+module_param(force, bool, 0);
+MODULE_PARM_DESC(force, "Force driver load, ignore DMI data");
+
+static struct platform_device *oaktrail_device;
+static struct backlight_device *oaktrail_bl_device;
+static struct rfkill *bt_rfkill;
+static struct rfkill *gps_rfkill;
+static struct rfkill *wifi_rfkill;
+static struct rfkill *wwan_rfkill;
+
+
+/* rfkill */
+static int oaktrail_rfkill_set(void *data, bool blocked)
+{
+       u8 value;
+       u8 result;
+       unsigned long radio = (unsigned long) data;
+
+       ec_read(OT_EC_DEVICE_STATE_ADDRESS, &result);
+
+       if (!blocked)
+               value = (u8) (result | radio);
+       else
+               value = (u8) (result & ~radio);
+
+       ec_write(OT_EC_DEVICE_STATE_ADDRESS, value);
+
+       return 0;
+}
+
+static const struct rfkill_ops oaktrail_rfkill_ops = {
+       .set_block = oaktrail_rfkill_set,
+};
+
+static struct rfkill *oaktrail_rfkill_new(char *name, enum rfkill_type type,
+                                         unsigned long mask)
+{
+       struct rfkill *rfkill_dev;
+       u8 value;
+       int err;
+
+       rfkill_dev = rfkill_alloc(name, &oaktrail_device->dev, type,
+                                 &oaktrail_rfkill_ops, (void *)mask);
+       if (!rfkill_dev)
+               return ERR_PTR(-ENOMEM);
+
+       ec_read(OT_EC_DEVICE_STATE_ADDRESS, &value);
+       rfkill_init_sw_state(rfkill_dev, (value & mask) != 1);
+
+       err = rfkill_register(rfkill_dev);
+       if (err) {
+               rfkill_destroy(rfkill_dev);
+               return ERR_PTR(err);
+       }
+
+       return rfkill_dev;
+}
+
+static inline void __oaktrail_rfkill_cleanup(struct rfkill *rf)
+{
+       if (rf) {
+               rfkill_unregister(rf);
+               rfkill_destroy(rf);
+       }
+}
+
+static void oaktrail_rfkill_cleanup(void)
+{
+       __oaktrail_rfkill_cleanup(wifi_rfkill);
+       __oaktrail_rfkill_cleanup(bt_rfkill);
+       __oaktrail_rfkill_cleanup(gps_rfkill);
+       __oaktrail_rfkill_cleanup(wwan_rfkill);
+}
+
+static int oaktrail_rfkill_init(void)
+{
+       int ret;
+
+       wifi_rfkill = oaktrail_rfkill_new("oaktrail-wifi",
+                                         RFKILL_TYPE_WLAN,
+                                         OT_EC_WIFI_MASK);
+       if (IS_ERR(wifi_rfkill)) {
+               ret = PTR_ERR(wifi_rfkill);
+               wifi_rfkill = NULL;
+               goto cleanup;
+       }
+
+       bt_rfkill = oaktrail_rfkill_new("oaktrail-bluetooth",
+                                       RFKILL_TYPE_BLUETOOTH,
+                                       OT_EC_BT_MASK);
+       if (IS_ERR(bt_rfkill)) {
+               ret = PTR_ERR(bt_rfkill);
+               bt_rfkill = NULL;
+               goto cleanup;
+       }
+
+       gps_rfkill = oaktrail_rfkill_new("oaktrail-gps",
+                                        RFKILL_TYPE_GPS,
+                                        OT_EC_GPS_MASK);
+       if (IS_ERR(gps_rfkill)) {
+               ret = PTR_ERR(gps_rfkill);
+               gps_rfkill = NULL;
+               goto cleanup;
+       }
+
+       wwan_rfkill = oaktrail_rfkill_new("oaktrail-wwan",
+                                         RFKILL_TYPE_WWAN,
+                                         OT_EC_WWAN_MASK);
+       if (IS_ERR(wwan_rfkill)) {
+               ret = PTR_ERR(wwan_rfkill);
+               wwan_rfkill = NULL;
+               goto cleanup;
+       }
+
+       return 0;
+
+cleanup:
+       oaktrail_rfkill_cleanup();
+       return ret;
+}
+
+
+/* backlight */
+static int get_backlight_brightness(struct backlight_device *b)
+{
+       u8 value;
+       ec_read(OT_EC_BL_BRIGHTNESS_ADDRESS, &value);
+
+       return value;
+}
+
+static int set_backlight_brightness(struct backlight_device *b)
+{
+       u8 percent = (u8) b->props.brightness;
+       if (percent < 0 || percent > OT_EC_BL_BRIGHTNESS_MAX)
+               return -EINVAL;
+
+       ec_write(OT_EC_BL_BRIGHTNESS_ADDRESS, percent);
+       ec_write(OT_EC_BL_CONTROL_ADDRESS, OT_EC_BL_CONTROL_ON_DATA);
+
+       return 0;
+}
+
+static const struct backlight_ops oaktrail_bl_ops = {
+       .get_brightness = get_backlight_brightness,
+       .update_status  = set_backlight_brightness,
+};
+
+static int oaktrail_backlight_init(void)
+{
+       struct backlight_device *bd;
+       struct backlight_properties props;
+
+       memset(&props, 0, sizeof(struct backlight_properties));
+       props.max_brightness = OT_EC_BL_BRIGHTNESS_MAX;
+       bd = backlight_device_register(DRIVER_NAME,
+                                      &oaktrail_device->dev, NULL,
+                                      &oaktrail_bl_ops,
+                                      &props);
+
+       if (IS_ERR(bd)) {
+               oaktrail_bl_device = NULL;
+               pr_warning("Unable to register backlight device\n");
+               return PTR_ERR(bd);
+       }
+
+       oaktrail_bl_device = bd;
+
+       bd->props.brightness = get_backlight_brightness(bd);
+       bd->props.power = FB_BLANK_UNBLANK;
+       backlight_update_status(bd);
+
+       return 0;
+}
+
+static void oaktrail_backlight_exit(void)
+{
+       if (oaktrail_bl_device)
+               backlight_device_unregister(oaktrail_bl_device);
+}
+
+static int __devinit oaktrail_probe(struct platform_device *pdev)
+{
+       return 0;
+}
+
+static int __devexit oaktrail_remove(struct platform_device *pdev)
+{
+       return 0;
+}
+
+static struct platform_driver oaktrail_driver = {
+       .driver = {
+               .name = DRIVER_NAME,
+               .owner = THIS_MODULE,
+       },
+       .probe  = oaktrail_probe,
+       .remove = __devexit_p(oaktrail_remove)
+};
+
+static int dmi_check_cb(const struct dmi_system_id *id)
+{
+       pr_info("Identified model '%s'\n", id->ident);
+       return 0;
+}
+
+static struct dmi_system_id __initdata oaktrail_dmi_table[] = {
+       {
+               .ident = "OakTrail platform",
+               .matches = {
+                       DMI_MATCH(DMI_PRODUCT_NAME, "OakTrail platform"),
+               },
+               .callback = dmi_check_cb
+       },
+       { }
+};
+
+static int __init oaktrail_init(void)
+{
+       int ret;
+
+       if (acpi_disabled) {
+               pr_err("ACPI needs to be enabled for this driver to work!\n");
+               return -ENODEV;
+       }
+
+       if (!force && !dmi_check_system(oaktrail_dmi_table)) {
+               pr_err("Platform not recognized (You could try the module's force-parameter)");
+               return -ENODEV;
+       }
+
+       ret = platform_driver_register(&oaktrail_driver);
+       if (ret) {
+               pr_warning("Unable to register platform driver\n");
+               goto err_driver_reg;
+       }
+
+       oaktrail_device = platform_device_alloc(DRIVER_NAME, -1);
+       if (!oaktrail_device) {
+               pr_warning("Unable to allocate platform device\n");
+               ret = -ENOMEM;
+               goto err_device_alloc;
+       }
+
+       ret = platform_device_add(oaktrail_device);
+       if (ret) {
+               pr_warning("Unable to add platform device\n");
+               goto err_device_add;
+       }
+
+       if (!acpi_video_backlight_support()) {
+               ret = oaktrail_backlight_init();
+               if (ret)
+                       goto err_backlight;
+
+       } else
+               pr_info("Backlight controlled by ACPI video driver\n");
+
+       ret = oaktrail_rfkill_init();
+       if (ret) {
+               pr_warning("Setup rfkill failed\n");
+               goto err_rfkill;
+       }
+
+       pr_info("Driver "DRIVER_VERSION" successfully loaded\n");
+       return 0;
+
+err_rfkill:
+       oaktrail_backlight_exit();
+err_backlight:
+       platform_device_del(oaktrail_device);
+err_device_add:
+       platform_device_put(oaktrail_device);
+err_device_alloc:
+       platform_driver_unregister(&oaktrail_driver);
+err_driver_reg:
+
+       return ret;
+}
+
+static void __exit oaktrail_cleanup(void)
+{
+       oaktrail_backlight_exit();
+       oaktrail_rfkill_cleanup();
+       platform_device_unregister(oaktrail_device);
+       platform_driver_unregister(&oaktrail_driver);
+
+       pr_info("Driver unloaded\n");
+}
+
+module_init(oaktrail_init);
+module_exit(oaktrail_cleanup);
+
+MODULE_AUTHOR("Yin Kangkai (kangkai.yin@intel.com)");
+MODULE_DESCRIPTION("Intel Oaktrail Platform ACPI Extras");
+MODULE_VERSION(DRIVER_VERSION);
+MODULE_LICENSE("GPL");
+MODULE_ALIAS("dmi:*:svnIntelCorporation:pnOakTrailplatform:*");
index 464bb3fc4d88b1c7d8fc9583b48fee3fec610a4f..1686c1e07d5d250c03d27fe24077f0c3f43b00d7 100644 (file)
@@ -19,6 +19,8 @@
  * Moorestown platform PMIC chip
  */
 
+#define pr_fmt(fmt) "%s: " fmt, __func__
+
 #include <linux/module.h>
 #include <linux/kernel.h>
 #include <linux/interrupt.h>
@@ -90,8 +92,7 @@ static void pmic_program_irqtype(int gpio, int type)
 static int pmic_gpio_direction_input(struct gpio_chip *chip, unsigned offset)
 {
        if (offset > 8) {
-               printk(KERN_ERR
-                       "%s: only pin 0-7 support input\n", __func__);
+               pr_err("only pin 0-7 support input\n");
                return -1;/* we only have 8 GPIO can use as input */
        }
        return intel_scu_ipc_update_register(GPIO0 + offset,
@@ -116,8 +117,7 @@ static int pmic_gpio_direction_output(struct gpio_chip *chip,
                                value ? 1 << (offset - 16) : 0,
                                1 << (offset - 16));
        else {
-               printk(KERN_ERR
-                       "%s: invalid PMIC GPIO pin %d!\n", __func__, offset);
+               pr_err("invalid PMIC GPIO pin %d!\n", offset);
                WARN_ON(1);
        }
 
@@ -260,7 +260,7 @@ static int __devinit platform_pmic_gpio_probe(struct platform_device *pdev)
        /* setting up SRAM mapping for GPIOINT register */
        pg->gpiointr = ioremap_nocache(pdata->gpiointr, 8);
        if (!pg->gpiointr) {
-               printk(KERN_ERR "%s: Can not map GPIOINT.\n", __func__);
+               pr_err("Can not map GPIOINT\n");
                retval = -EINVAL;
                goto err2;
        }
@@ -281,13 +281,13 @@ static int __devinit platform_pmic_gpio_probe(struct platform_device *pdev)
        pg->chip.dev = dev;
        retval = gpiochip_add(&pg->chip);
        if (retval) {
-               printk(KERN_ERR "%s: Can not add pmic gpio chip.\n", __func__);
+               pr_err("Can not add pmic gpio chip\n");
                goto err;
        }
 
        retval = request_irq(pg->irq, pmic_irq_handler, 0, "pmic", pg);
        if (retval) {
-               printk(KERN_WARNING "pmic: Interrupt request failed\n");
+               pr_warn("Interrupt request failed\n");
                goto err;
        }
 
index 23fb2afda00b0c600dd5ca515a85023d7f0b4792..d7213e406867d79ff2f00d7a753a2b4ce9cc3dc4 100644 (file)
@@ -447,7 +447,7 @@ static struct platform_device *msipf_device;
 
 static int dmi_check_cb(const struct dmi_system_id *id)
 {
-       pr_info("Identified laptop model '%s'.\n", id->ident);
+       pr_info("Identified laptop model '%s'\n", id->ident);
        return 1;
 }
 
@@ -800,7 +800,7 @@ static void msi_laptop_input_destroy(void)
        input_unregister_device(msi_laptop_input_dev);
 }
 
-static int load_scm_model_init(struct platform_device *sdev)
+static int __init load_scm_model_init(struct platform_device *sdev)
 {
        u8 data;
        int result;
@@ -875,8 +875,7 @@ static int __init msi_init(void)
        /* Register backlight stuff */
 
        if (acpi_video_backlight_support()) {
-               pr_info("Brightness ignored, must be controlled "
-                      "by ACPI video driver\n");
+               pr_info("Brightness ignored, must be controlled by ACPI video driver\n");
        } else {
                struct backlight_properties props;
                memset(&props, 0, sizeof(struct backlight_properties));
@@ -930,7 +929,7 @@ static int __init msi_init(void)
        if (auto_brightness != 2)
                set_auto_brightness(auto_brightness);
 
-       pr_info("driver "MSI_DRIVER_VERSION" successfully loaded.\n");
+       pr_info("driver " MSI_DRIVER_VERSION " successfully loaded\n");
 
        return 0;
 
@@ -978,7 +977,7 @@ static void __exit msi_cleanup(void)
        if (auto_brightness != 2)
                set_auto_brightness(1);
 
-       pr_info("driver unloaded.\n");
+       pr_info("driver unloaded\n");
 }
 
 module_init(msi_init);
index d5419c9ec07a39e34ebc49d7698d39cb933a0da9..c832e3356cd61f03036ad8802919285add489466 100644 (file)
@@ -20,6 +20,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
 
 #include <linux/kernel.h>
 #include <linux/input.h>
@@ -36,13 +37,10 @@ MODULE_ALIAS("wmi:551A1F84-FBDD-4125-91DB-3EA8F44F1D45");
 MODULE_ALIAS("wmi:B6F3EEF2-3D2F-49DC-9DE3-85BCE18C62F2");
 
 #define DRV_NAME "msi-wmi"
-#define DRV_PFX DRV_NAME ": "
 
 #define MSIWMI_BIOS_GUID "551A1F84-FBDD-4125-91DB-3EA8F44F1D45"
 #define MSIWMI_EVENT_GUID "B6F3EEF2-3D2F-49DC-9DE3-85BCE18C62F2"
 
-#define dprintk(msg...) pr_debug(DRV_PFX msg)
-
 #define SCANCODE_BASE 0xD0
 #define MSI_WMI_BRIGHTNESSUP   SCANCODE_BASE
 #define MSI_WMI_BRIGHTNESSDOWN (SCANCODE_BASE + 1)
@@ -78,7 +76,7 @@ static int msi_wmi_query_block(int instance, int *ret)
 
        if (!obj || obj->type != ACPI_TYPE_INTEGER) {
                if (obj) {
-                       printk(KERN_ERR DRV_PFX "query block returned object "
+                       pr_err("query block returned object "
                               "type: %d - buffer length:%d\n", obj->type,
                               obj->type == ACPI_TYPE_BUFFER ?
                               obj->buffer.length : 0);
@@ -97,8 +95,8 @@ static int msi_wmi_set_block(int instance, int value)
 
        struct acpi_buffer input = { sizeof(int), &value };
 
-       dprintk("Going to set block of instance: %d - value: %d\n",
-               instance, value);
+       pr_debug("Going to set block of instance: %d - value: %d\n",
+                instance, value);
 
        status = wmi_set_block(MSIWMI_BIOS_GUID, instance, &input);
 
@@ -112,20 +110,19 @@ static int bl_get(struct backlight_device *bd)
        /* Instance 1 is "get backlight", cmp with DSDT */
        err = msi_wmi_query_block(1, &ret);
        if (err) {
-               printk(KERN_ERR DRV_PFX "Could not query backlight: %d\n", err);
+               pr_err("Could not query backlight: %d\n", err);
                return -EINVAL;
        }
-       dprintk("Get: Query block returned: %d\n", ret);
+       pr_debug("Get: Query block returned: %d\n", ret);
        for (level = 0; level < ARRAY_SIZE(backlight_map); level++) {
                if (backlight_map[level] == ret) {
-                       dprintk("Current backlight level: 0x%X - index: %d\n",
-                               backlight_map[level], level);
+                       pr_debug("Current backlight level: 0x%X - index: %d\n",
+                                backlight_map[level], level);
                        break;
                }
        }
        if (level == ARRAY_SIZE(backlight_map)) {
-               printk(KERN_ERR DRV_PFX "get: Invalid brightness value: 0x%X\n",
-                      ret);
+               pr_err("get: Invalid brightness value: 0x%X\n", ret);
                return -EINVAL;
        }
        return level;
@@ -156,7 +153,7 @@ static void msi_wmi_notify(u32 value, void *context)
 
        status = wmi_get_event_data(value, &response);
        if (status != AE_OK) {
-               printk(KERN_INFO DRV_PFX "bad event status 0x%x\n", status);
+               pr_info("bad event status 0x%x\n", status);
                return;
        }
 
@@ -164,7 +161,7 @@ static void msi_wmi_notify(u32 value, void *context)
 
        if (obj && obj->type == ACPI_TYPE_INTEGER) {
                int eventcode = obj->integer.value;
-               dprintk("Eventcode: 0x%x\n", eventcode);
+               pr_debug("Eventcode: 0x%x\n", eventcode);
                key = sparse_keymap_entry_from_scancode(msi_wmi_input_dev,
                                eventcode);
                if (key) {
@@ -175,8 +172,8 @@ static void msi_wmi_notify(u32 value, void *context)
                        /* Ignore event if the same event happened in a 50 ms
                           timeframe -> Key press may result in 10-20 GPEs */
                        if (ktime_to_us(diff) < 1000 * 50) {
-                               dprintk("Suppressed key event 0x%X - "
-                                       "Last press was %lld us ago\n",
+                               pr_debug("Suppressed key event 0x%X - "
+                                        "Last press was %lld us ago\n",
                                         key->code, ktime_to_us(diff));
                                return;
                        }
@@ -187,17 +184,16 @@ static void msi_wmi_notify(u32 value, void *context)
                        (!acpi_video_backlight_support() ||
                        (key->code != MSI_WMI_BRIGHTNESSUP &&
                        key->code != MSI_WMI_BRIGHTNESSDOWN))) {
-                               dprintk("Send key: 0x%X - "
-                                       "Input layer keycode: %d\n", key->code,
-                                        key->keycode);
+                               pr_debug("Send key: 0x%X - "
+                                        "Input layer keycode: %d\n",
+                                        key->code, key->keycode);
                                sparse_keymap_report_entry(msi_wmi_input_dev,
                                                key, 1, true);
                        }
                } else
-                       printk(KERN_INFO "Unknown key pressed - %x\n",
-                              eventcode);
+                       pr_info("Unknown key pressed - %x\n", eventcode);
        } else
-               printk(KERN_INFO DRV_PFX "Unknown event received\n");
+               pr_info("Unknown event received\n");
        kfree(response.pointer);
 }
 
@@ -238,8 +234,7 @@ static int __init msi_wmi_init(void)
        int err;
 
        if (!wmi_has_guid(MSIWMI_EVENT_GUID)) {
-               printk(KERN_ERR
-                      "This machine doesn't have MSI-hotkeys through WMI\n");
+               pr_err("This machine doesn't have MSI-hotkeys through WMI\n");
                return -ENODEV;
        }
        err = wmi_install_notify_handler(MSIWMI_EVENT_GUID,
@@ -270,7 +265,7 @@ static int __init msi_wmi_init(void)
 
                backlight->props.brightness = err;
        }
-       dprintk("Event handler installed\n");
+       pr_debug("Event handler installed\n");
 
        return 0;
 
index 6fe8cd6e23b5f89fd1efc1145796a9e6c530aa8e..bbd182e178cb65682b7ed47684467184da4c9a03 100644 (file)
@@ -42,6 +42,8 @@
  *
  */
 
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/moduleparam.h>
 #include <linux/miscdevice.h>
 #endif
 
-#define DRV_PFX                        "sony-laptop: "
-#define dprintk(msg...)                do {    \
-       if (debug)                      \
-               pr_warn(DRV_PFX msg);   \
+#define dprintk(fmt, ...)                      \
+do {                                           \
+       if (debug)                              \
+               pr_warn(fmt, ##__VA_ARGS__);    \
 } while (0)
 
 #define SONY_LAPTOP_DRIVER_VERSION     "0.6"
@@ -418,7 +420,7 @@ static int sony_laptop_setup_input(struct acpi_device *acpi_device)
        error = kfifo_alloc(&sony_laptop_input.fifo,
                            SONY_LAPTOP_BUF_SIZE, GFP_KERNEL);
        if (error) {
-               pr_err(DRV_PFX "kfifo_alloc failed\n");
+               pr_err("kfifo_alloc failed\n");
                goto err_dec_users;
        }
 
@@ -702,7 +704,7 @@ static int acpi_callgetfunc(acpi_handle handle, char *name, int *result)
                return 0;
        }
 
-       pr_warn(DRV_PFX "acpi_callreadfunc failed\n");
+       pr_warn("acpi_callreadfunc failed\n");
 
        return -1;
 }
@@ -728,8 +730,7 @@ static int acpi_callsetfunc(acpi_handle handle, char *name, int value,
        if (status == AE_OK) {
                if (result != NULL) {
                        if (out_obj.type != ACPI_TYPE_INTEGER) {
-                               pr_warn(DRV_PFX "acpi_evaluate_object bad "
-                                      "return type\n");
+                               pr_warn("acpi_evaluate_object bad return type\n");
                                return -1;
                        }
                        *result = out_obj.integer.value;
@@ -737,7 +738,7 @@ static int acpi_callsetfunc(acpi_handle handle, char *name, int value,
                return 0;
        }
 
-       pr_warn(DRV_PFX "acpi_evaluate_object failed\n");
+       pr_warn("acpi_evaluate_object failed\n");
 
        return -1;
 }
@@ -961,7 +962,6 @@ static int sony_backlight_get_brightness(struct backlight_device *bd)
 static int sony_nc_get_brightness_ng(struct backlight_device *bd)
 {
        int result;
-       int *handle = (int *)bl_get_data(bd);
        struct sony_backlight_props *sdev =
                (struct sony_backlight_props *)bl_get_data(bd);
 
@@ -973,7 +973,6 @@ static int sony_nc_get_brightness_ng(struct backlight_device *bd)
 static int sony_nc_update_status_ng(struct backlight_device *bd)
 {
        int value, result;
-       int *handle = (int *)bl_get_data(bd);
        struct sony_backlight_props *sdev =
                (struct sony_backlight_props *)bl_get_data(bd);
 
@@ -1104,10 +1103,8 @@ static void sony_nc_notify(struct acpi_device *device, u32 event)
                                }
 
                                if (!key_event->data)
-                                       pr_info(DRV_PFX
-                                                       "Unknown event: 0x%x 0x%x\n",
-                                                       key_handle,
-                                                       ev);
+                                       pr_info("Unknown event: 0x%x 0x%x\n",
+                                               key_handle, ev);
                                else
                                        sony_laptop_report_input_event(ev);
                        }
@@ -1128,7 +1125,7 @@ static acpi_status sony_walk_callback(acpi_handle handle, u32 level,
        struct acpi_device_info *info;
 
        if (ACPI_SUCCESS(acpi_get_object_info(handle, &info))) {
-               pr_warn(DRV_PFX "method: name: %4.4s, args %X\n",
+               pr_warn("method: name: %4.4s, args %X\n",
                        (char *)&info->name, info->param_count);
 
                kfree(info);
@@ -1169,7 +1166,7 @@ static int sony_nc_resume(struct acpi_device *device)
                ret = acpi_callsetfunc(sony_nc_acpi_handle, *item->acpiset,
                                       item->value, NULL);
                if (ret < 0) {
-                       pr_err(DRV_PFX "%s: %d\n", __func__, ret);
+                       pr_err("%s: %d\n", __func__, ret);
                        break;
                }
        }
@@ -1336,12 +1333,12 @@ static void sony_nc_rfkill_setup(struct acpi_device *device)
 
        device_enum = (union acpi_object *) buffer.pointer;
        if (!device_enum) {
-               pr_err(DRV_PFX "No SN06 return object.");
+               pr_err("No SN06 return object\n");
                goto out_no_enum;
        }
        if (device_enum->type != ACPI_TYPE_BUFFER) {
-               pr_err(DRV_PFX "Invalid SN06 return object 0x%.2x\n",
-                               device_enum->type);
+               pr_err("Invalid SN06 return object 0x%.2x\n",
+                      device_enum->type);
                goto out_no_enum;
        }
 
@@ -1662,7 +1659,7 @@ static void sony_nc_backlight_setup(void)
                                                      ops, &props);
 
        if (IS_ERR(sony_bl_props.dev)) {
-               pr_warn(DRV_PFX "unable to register backlight device\n");
+               pr_warn("unable to register backlight device\n");
                sony_bl_props.dev = NULL;
        } else
                sony_bl_props.dev->props.brightness =
@@ -1682,8 +1679,7 @@ static int sony_nc_add(struct acpi_device *device)
        acpi_handle handle;
        struct sony_nc_value *item;
 
-       pr_info(DRV_PFX "%s v%s.\n", SONY_NC_DRIVER_NAME,
-                       SONY_LAPTOP_DRIVER_VERSION);
+       pr_info("%s v%s\n", SONY_NC_DRIVER_NAME, SONY_LAPTOP_DRIVER_VERSION);
 
        sony_nc_acpi_device = device;
        strcpy(acpi_device_class(device), "sony/hotkey");
@@ -1708,7 +1704,7 @@ static int sony_nc_add(struct acpi_device *device)
                                sony_nc_acpi_handle, 1, sony_walk_callback,
                                NULL, NULL, NULL);
                if (ACPI_FAILURE(status)) {
-                       pr_warn(DRV_PFX "unable to walk acpi resources\n");
+                       pr_warn("unable to walk acpi resources\n");
                        result = -ENODEV;
                        goto outpresent;
                }
@@ -1736,13 +1732,12 @@ static int sony_nc_add(struct acpi_device *device)
        /* setup input devices and helper fifo */
        result = sony_laptop_setup_input(device);
        if (result) {
-               pr_err(DRV_PFX "Unable to create input devices.\n");
+               pr_err("Unable to create input devices\n");
                goto outkbdbacklight;
        }
 
        if (acpi_video_backlight_support()) {
-               pr_info(DRV_PFX "brightness ignored, must be "
-                      "controlled by ACPI video driver\n");
+               pr_info("brightness ignored, must be controlled by ACPI video driver\n");
        } else {
                sony_nc_backlight_setup();
        }
@@ -2265,9 +2260,9 @@ out:
        if (pcidev)
                pci_dev_put(pcidev);
 
-       pr_info(DRV_PFX "detected Type%d model\n",
-                       dev->model == SONYPI_DEVICE_TYPE1 ? 1 :
-                       dev->model == SONYPI_DEVICE_TYPE2 ? 2 : 3);
+       pr_info("detected Type%d model\n",
+               dev->model == SONYPI_DEVICE_TYPE1 ? 1 :
+               dev->model == SONYPI_DEVICE_TYPE2 ? 2 : 3);
 }
 
 /* camera tests and poweron/poweroff */
@@ -2313,7 +2308,7 @@ static int __sony_pic_camera_ready(void)
 static int __sony_pic_camera_off(void)
 {
        if (!camera) {
-               pr_warn(DRV_PFX "camera control not enabled\n");
+               pr_warn("camera control not enabled\n");
                return -ENODEV;
        }
 
@@ -2333,7 +2328,7 @@ static int __sony_pic_camera_on(void)
        int i, j, x;
 
        if (!camera) {
-               pr_warn(DRV_PFX "camera control not enabled\n");
+               pr_warn("camera control not enabled\n");
                return -ENODEV;
        }
 
@@ -2356,7 +2351,7 @@ static int __sony_pic_camera_on(void)
        }
 
        if (j == 0) {
-               pr_warn(DRV_PFX "failed to power on camera\n");
+               pr_warn("failed to power on camera\n");
                return -ENODEV;
        }
 
@@ -2412,8 +2407,7 @@ int sony_pic_camera_command(int command, u8 value)
                                ITERATIONS_SHORT);
                break;
        default:
-               pr_err(DRV_PFX "sony_pic_camera_command invalid: %d\n",
-                      command);
+               pr_err("sony_pic_camera_command invalid: %d\n", command);
                break;
        }
        mutex_unlock(&spic_dev.lock);
@@ -2819,7 +2813,7 @@ static int sonypi_compat_init(void)
        error =
         kfifo_alloc(&sonypi_compat.fifo, SONY_LAPTOP_BUF_SIZE, GFP_KERNEL);
        if (error) {
-               pr_err(DRV_PFX "kfifo_alloc failed\n");
+               pr_err("kfifo_alloc failed\n");
                return error;
        }
 
@@ -2829,12 +2823,12 @@ static int sonypi_compat_init(void)
                sonypi_misc_device.minor = minor;
        error = misc_register(&sonypi_misc_device);
        if (error) {
-               pr_err(DRV_PFX "misc_register failed\n");
+               pr_err("misc_register failed\n");
                goto err_free_kfifo;
        }
        if (minor == -1)
-               pr_info(DRV_PFX "device allocated minor is %d\n",
-                      sonypi_misc_device.minor);
+               pr_info("device allocated minor is %d\n",
+                       sonypi_misc_device.minor);
 
        return 0;
 
@@ -2893,8 +2887,8 @@ sony_pic_read_possible_resource(struct acpi_resource *resource, void *context)
                        }
                        for (i = 0; i < p->interrupt_count; i++) {
                                if (!p->interrupts[i]) {
-                                       pr_warn(DRV_PFX "Invalid IRQ %d\n",
-                                                       p->interrupts[i]);
+                                       pr_warn("Invalid IRQ %d\n",
+                                               p->interrupts[i]);
                                        continue;
                                }
                                interrupt = kzalloc(sizeof(*interrupt),
@@ -2932,14 +2926,14 @@ sony_pic_read_possible_resource(struct acpi_resource *resource, void *context)
                                                ioport->io2.address_length);
                        }
                        else {
-                               pr_err(DRV_PFX "Unknown SPIC Type, more than 2 IO Ports\n");
+                               pr_err("Unknown SPIC Type, more than 2 IO Ports\n");
                                return AE_ERROR;
                        }
                        return AE_OK;
                }
        default:
                dprintk("Resource %d isn't an IRQ nor an IO port\n",
-                               resource->type);
+                       resource->type);
 
        case ACPI_RESOURCE_TYPE_END_TAG:
                return AE_OK;
@@ -2960,7 +2954,7 @@ static int sony_pic_possible_resources(struct acpi_device *device)
        dprintk("Evaluating _STA\n");
        result = acpi_bus_get_status(device);
        if (result) {
-               pr_warn(DRV_PFX "Unable to read status\n");
+               pr_warn("Unable to read status\n");
                goto end;
        }
 
@@ -2976,8 +2970,7 @@ static int sony_pic_possible_resources(struct acpi_device *device)
        status = acpi_walk_resources(device->handle, METHOD_NAME__PRS,
                        sony_pic_read_possible_resource, &spic_dev);
        if (ACPI_FAILURE(status)) {
-               pr_warn(DRV_PFX "Failure evaluating %s\n",
-                               METHOD_NAME__PRS);
+               pr_warn("Failure evaluating %s\n", METHOD_NAME__PRS);
                result = -ENODEV;
        }
 end:
@@ -3090,7 +3083,7 @@ static int sony_pic_enable(struct acpi_device *device,
 
        /* check for total failure */
        if (ACPI_FAILURE(status)) {
-               pr_err(DRV_PFX "Error evaluating _SRS\n");
+               pr_err("Error evaluating _SRS\n");
                result = -ENODEV;
                goto end;
        }
@@ -3182,7 +3175,7 @@ static int sony_pic_remove(struct acpi_device *device, int type)
        struct sony_pic_irq *irq, *tmp_irq;
 
        if (sony_pic_disable(device)) {
-               pr_err(DRV_PFX "Couldn't disable device.\n");
+               pr_err("Couldn't disable device\n");
                return -ENXIO;
        }
 
@@ -3222,8 +3215,7 @@ static int sony_pic_add(struct acpi_device *device)
        struct sony_pic_ioport *io, *tmp_io;
        struct sony_pic_irq *irq, *tmp_irq;
 
-       pr_info(DRV_PFX "%s v%s.\n", SONY_PIC_DRIVER_NAME,
-                       SONY_LAPTOP_DRIVER_VERSION);
+       pr_info("%s v%s\n", SONY_PIC_DRIVER_NAME, SONY_LAPTOP_DRIVER_VERSION);
 
        spic_dev.acpi_dev = device;
        strcpy(acpi_device_class(device), "sony/hotkey");
@@ -3233,14 +3225,14 @@ static int sony_pic_add(struct acpi_device *device)
        /* read _PRS resources */
        result = sony_pic_possible_resources(device);
        if (result) {
-               pr_err(DRV_PFX "Unable to read possible resources.\n");
+               pr_err("Unable to read possible resources\n");
                goto err_free_resources;
        }
 
        /* setup input devices and helper fifo */
        result = sony_laptop_setup_input(device);
        if (result) {
-               pr_err(DRV_PFX "Unable to create input devices.\n");
+               pr_err("Unable to create input devices\n");
                goto err_free_resources;
        }
 
@@ -3281,7 +3273,7 @@ static int sony_pic_add(struct acpi_device *device)
                }
        }
        if (!spic_dev.cur_ioport) {
-               pr_err(DRV_PFX "Failed to request_region.\n");
+               pr_err("Failed to request_region\n");
                result = -ENODEV;
                goto err_remove_compat;
        }
@@ -3301,7 +3293,7 @@ static int sony_pic_add(struct acpi_device *device)
                }
        }
        if (!spic_dev.cur_irq) {
-               pr_err(DRV_PFX "Failed to request_irq.\n");
+               pr_err("Failed to request_irq\n");
                result = -ENODEV;
                goto err_release_region;
        }
@@ -3309,7 +3301,7 @@ static int sony_pic_add(struct acpi_device *device)
        /* set resource status _SRS */
        result = sony_pic_enable(device, spic_dev.cur_ioport, spic_dev.cur_irq);
        if (result) {
-               pr_err(DRV_PFX "Couldn't enable device.\n");
+               pr_err("Couldn't enable device\n");
                goto err_free_irq;
        }
 
@@ -3418,7 +3410,7 @@ static int __init sony_laptop_init(void)
        if (!no_spic && dmi_check_system(sonypi_dmi_table)) {
                result = acpi_bus_register_driver(&sony_pic_driver);
                if (result) {
-                       pr_err(DRV_PFX "Unable to register SPIC driver.");
+                       pr_err("Unable to register SPIC driver\n");
                        goto out;
                }
                spic_drv_registered = 1;
@@ -3426,7 +3418,7 @@ static int __init sony_laptop_init(void)
 
        result = acpi_bus_register_driver(&sony_nc_driver);
        if (result) {
-               pr_err(DRV_PFX "Unable to register SNC driver.");
+               pr_err("Unable to register SNC driver\n");
                goto out_unregister_pic;
        }
 
index 865ef78d6f1a7c0593758fd73777bc35a502d5b4..e24f5ae475af019815b10a07e2febaabd29135c6 100644 (file)
@@ -25,6 +25,8 @@
  * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  */
 
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/slab.h>
@@ -40,9 +42,6 @@
 #define TC1100_INSTANCE_WIRELESS               1
 #define TC1100_INSTANCE_JOGDIAL                2
 
-#define TC1100_LOGPREFIX "tc1100-wmi: "
-#define TC1100_INFO KERN_INFO TC1100_LOGPREFIX
-
 MODULE_AUTHOR("Jamey Hicks, Carlos Corbacho");
 MODULE_DESCRIPTION("HP Compaq TC1100 Tablet WMI Extras");
 MODULE_LICENSE("GPL");
@@ -264,7 +263,7 @@ static int __init tc1100_init(void)
        if (error)
                goto err_device_del;
 
-       printk(TC1100_INFO "HP Compaq TC1100 Tablet WMI Extras loaded\n");
+       pr_info("HP Compaq TC1100 Tablet WMI Extras loaded\n");
        return 0;
 
  err_device_del:
index 562fcf0dd2b5b083b7d45aeeb7e78a7c6809425f..77f6e707a2a9a43d4c08777f1a97e42dd49a11a0 100644 (file)
@@ -21,6 +21,8 @@
  *  02110-1301, USA.
  */
 
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
 #define TPACPI_VERSION "0.24"
 #define TPACPI_SYSFS_VERSION 0x020700
 
@@ -224,17 +226,6 @@ enum tpacpi_hkey_event_t {
 
 #define TPACPI_MAX_ACPI_ARGS 3
 
-/* printk headers */
-#define TPACPI_LOG TPACPI_FILE ": "
-#define TPACPI_EMERG   KERN_EMERG      TPACPI_LOG
-#define TPACPI_ALERT   KERN_ALERT      TPACPI_LOG
-#define TPACPI_CRIT    KERN_CRIT       TPACPI_LOG
-#define TPACPI_ERR     KERN_ERR        TPACPI_LOG
-#define TPACPI_WARN    KERN_WARNING    TPACPI_LOG
-#define TPACPI_NOTICE  KERN_NOTICE     TPACPI_LOG
-#define TPACPI_INFO    KERN_INFO       TPACPI_LOG
-#define TPACPI_DEBUG   KERN_DEBUG      TPACPI_LOG
-
 /* Debugging printk groups */
 #define TPACPI_DBG_ALL         0xffff
 #define TPACPI_DBG_DISCLOSETASK        0x8000
@@ -389,34 +380,36 @@ static int tpacpi_uwb_emulstate;
  *  Debugging helpers
  */
 
-#define dbg_printk(a_dbg_level, format, arg...) \
-       do { if (dbg_level & (a_dbg_level)) \
-               printk(TPACPI_DEBUG "%s: " format, __func__ , ## arg); \
-       } while (0)
+#define dbg_printk(a_dbg_level, format, arg...)                                \
+do {                                                                   \
+       if (dbg_level & (a_dbg_level))                                  \
+               printk(KERN_DEBUG pr_fmt("%s: " format),                \
+                      __func__, ##arg);                                \
+} while (0)
 
 #ifdef CONFIG_THINKPAD_ACPI_DEBUG
 #define vdbg_printk dbg_printk
 static const char *str_supported(int is_supported);
 #else
-#define vdbg_printk(a_dbg_level, format, arg...) \
-       do { } while (0)
+static inline const char *str_supported(int is_supported) { return ""; }
+#define vdbg_printk(a_dbg_level, format, arg...)       \
+       no_printk(format, ##arg)
 #endif
 
 static void tpacpi_log_usertask(const char * const what)
 {
-       printk(TPACPI_DEBUG "%s: access by process with PID %d\n",
-               what, task_tgid_vnr(current));
+       printk(KERN_DEBUG pr_fmt("%s: access by process with PID %d\n"),
+              what, task_tgid_vnr(current));
 }
 
-#define tpacpi_disclose_usertask(what, format, arg...) \
-       do { \
-               if (unlikely( \
-                   (dbg_level & TPACPI_DBG_DISCLOSETASK) && \
-                   (tpacpi_lifecycle == TPACPI_LIFE_RUNNING))) { \
-                       printk(TPACPI_DEBUG "%s: PID %d: " format, \
-                               what, task_tgid_vnr(current), ## arg); \
-               } \
-       } while (0)
+#define tpacpi_disclose_usertask(what, format, arg...)                 \
+do {                                                                   \
+       if (unlikely((dbg_level & TPACPI_DBG_DISCLOSETASK) &&           \
+                    (tpacpi_lifecycle == TPACPI_LIFE_RUNNING))) {      \
+               printk(KERN_DEBUG pr_fmt("%s: PID %d: " format),        \
+                      what, task_tgid_vnr(current), ## arg);           \
+       }                                                               \
+} while (0)
 
 /*
  * Quirk handling helpers
@@ -535,15 +528,6 @@ TPACPI_HANDLE(hkey, ec, "\\_SB.HKEY",      /* 600e/x, 770e, 770x */
           "HKEY",              /* all others */
           );                   /* 570 */
 
-TPACPI_HANDLE(vid, root, "\\_SB.PCI.AGP.VGA",  /* 570 */
-          "\\_SB.PCI0.AGP0.VID0",      /* 600e/x, 770x */
-          "\\_SB.PCI0.VID0",   /* 770e */
-          "\\_SB.PCI0.VID",    /* A21e, G4x, R50e, X30, X40 */
-          "\\_SB.PCI0.AGP.VGA",        /* X100e and a few others */
-          "\\_SB.PCI0.AGP.VID",        /* all others */
-          );                           /* R30, R31 */
-
-
 /*************************************************************************
  * ACPI helpers
  */
@@ -563,7 +547,7 @@ static int acpi_evalf(acpi_handle handle,
        int quiet;
 
        if (!*fmt) {
-               printk(TPACPI_ERR "acpi_evalf() called with empty format\n");
+               pr_err("acpi_evalf() called with empty format\n");
                return 0;
        }
 
@@ -588,7 +572,7 @@ static int acpi_evalf(acpi_handle handle,
                        break;
                        /* add more types as needed */
                default:
-                       printk(TPACPI_ERR "acpi_evalf() called "
+                       pr_err("acpi_evalf() called "
                               "with invalid format character '%c'\n", c);
                        va_end(ap);
                        return 0;
@@ -617,13 +601,13 @@ static int acpi_evalf(acpi_handle handle,
                break;
                /* add more types as needed */
        default:
-               printk(TPACPI_ERR "acpi_evalf() called "
+               pr_err("acpi_evalf() called "
                       "with invalid format character '%c'\n", res_type);
                return 0;
        }
 
        if (!success && !quiet)
-               printk(TPACPI_ERR "acpi_evalf(%s, %s, ...) failed: %s\n",
+               pr_err("acpi_evalf(%s, %s, ...) failed: %s\n",
                       method, fmt0, acpi_format_exception(status));
 
        return success;
@@ -767,8 +751,7 @@ static int __init setup_acpi_notify(struct ibm_struct *ibm)
 
        rc = acpi_bus_get_device(*ibm->acpi->handle, &ibm->acpi->device);
        if (rc < 0) {
-               printk(TPACPI_ERR "acpi_bus_get_device(%s) failed: %d\n",
-                       ibm->name, rc);
+               pr_err("acpi_bus_get_device(%s) failed: %d\n", ibm->name, rc);
                return -ENODEV;
        }
 
@@ -781,12 +764,10 @@ static int __init setup_acpi_notify(struct ibm_struct *ibm)
                        ibm->acpi->type, dispatch_acpi_notify, ibm);
        if (ACPI_FAILURE(status)) {
                if (status == AE_ALREADY_EXISTS) {
-                       printk(TPACPI_NOTICE
-                              "another device driver is already "
-                              "handling %s events\n", ibm->name);
+                       pr_notice("another device driver is already "
+                                 "handling %s events\n", ibm->name);
                } else {
-                       printk(TPACPI_ERR
-                              "acpi_install_notify_handler(%s) failed: %s\n",
+                       pr_err("acpi_install_notify_handler(%s) failed: %s\n",
                               ibm->name, acpi_format_exception(status));
                }
                return -ENODEV;
@@ -811,8 +792,7 @@ static int __init register_tpacpi_subdriver(struct ibm_struct *ibm)
 
        ibm->acpi->driver = kzalloc(sizeof(struct acpi_driver), GFP_KERNEL);
        if (!ibm->acpi->driver) {
-               printk(TPACPI_ERR
-                      "failed to allocate memory for ibm->acpi->driver\n");
+               pr_err("failed to allocate memory for ibm->acpi->driver\n");
                return -ENOMEM;
        }
 
@@ -823,7 +803,7 @@ static int __init register_tpacpi_subdriver(struct ibm_struct *ibm)
 
        rc = acpi_bus_register_driver(ibm->acpi->driver);
        if (rc < 0) {
-               printk(TPACPI_ERR "acpi_bus_register_driver(%s) failed: %d\n",
+               pr_err("acpi_bus_register_driver(%s) failed: %d\n",
                       ibm->name, rc);
                kfree(ibm->acpi->driver);
                ibm->acpi->driver = NULL;
@@ -1081,15 +1061,14 @@ static int parse_strtoul(const char *buf,
 static void tpacpi_disable_brightness_delay(void)
 {
        if (acpi_evalf(hkey_handle, NULL, "PWMS", "qvd", 0))
-               printk(TPACPI_NOTICE
-                       "ACPI backlight control delay disabled\n");
+               pr_notice("ACPI backlight control delay disabled\n");
 }
 
 static void printk_deprecated_attribute(const char * const what,
                                        const char * const details)
 {
        tpacpi_log_usertask("deprecated sysfs attribute");
-       printk(TPACPI_WARN "WARNING: sysfs attribute %s is deprecated and "
+       pr_warn("WARNING: sysfs attribute %s is deprecated and "
                "will be removed. %s\n",
                what, details);
 }
@@ -1264,8 +1243,7 @@ static int __init tpacpi_new_rfkill(const enum tpacpi_rfk_id id,
                                                &tpacpi_rfk_rfkill_ops,
                                                atp_rfk);
        if (!atp_rfk || !atp_rfk->rfkill) {
-               printk(TPACPI_ERR
-                       "failed to allocate memory for rfkill class\n");
+               pr_err("failed to allocate memory for rfkill class\n");
                kfree(atp_rfk);
                return -ENOMEM;
        }
@@ -1275,9 +1253,8 @@ static int __init tpacpi_new_rfkill(const enum tpacpi_rfk_id id,
 
        sw_status = (tp_rfkops->get_status)();
        if (sw_status < 0) {
-               printk(TPACPI_ERR
-                       "failed to read initial state for %s, error %d\n",
-                       name, sw_status);
+               pr_err("failed to read initial state for %s, error %d\n",
+                      name, sw_status);
        } else {
                sw_state = (sw_status == TPACPI_RFK_RADIO_OFF);
                if (set_default) {
@@ -1291,9 +1268,7 @@ static int __init tpacpi_new_rfkill(const enum tpacpi_rfk_id id,
 
        res = rfkill_register(atp_rfk->rfkill);
        if (res < 0) {
-               printk(TPACPI_ERR
-                       "failed to register %s rfkill switch: %d\n",
-                       name, res);
+               pr_err("failed to register %s rfkill switch: %d\n", name, res);
                rfkill_destroy(atp_rfk->rfkill);
                kfree(atp_rfk);
                return res;
@@ -1301,7 +1276,7 @@ static int __init tpacpi_new_rfkill(const enum tpacpi_rfk_id id,
 
        tpacpi_rfkill_switches[id] = atp_rfk;
 
-       printk(TPACPI_INFO "rfkill switch %s: radio is %sblocked\n",
+       pr_info("rfkill switch %s: radio is %sblocked\n",
                name, (sw_state || hw_state) ? "" : "un");
        return 0;
 }
@@ -1825,10 +1800,8 @@ static void __init tpacpi_check_outdated_fw(void)
                 * broken, or really stable to begin with, so it is
                 * best if the user upgrades the firmware anyway.
                 */
-               printk(TPACPI_WARN
-                       "WARNING: Outdated ThinkPad BIOS/EC firmware\n");
-               printk(TPACPI_WARN
-                       "WARNING: This firmware may be missing critical bug "
+               pr_warn("WARNING: Outdated ThinkPad BIOS/EC firmware\n");
+               pr_warn("WARNING: This firmware may be missing critical bug "
                        "fixes and/or important features\n");
        }
 }
@@ -2117,9 +2090,7 @@ void static hotkey_mask_warn_incomplete_mask(void)
                (hotkey_all_mask | TPACPI_HKEY_NVRAM_KNOWN_MASK);
 
        if (wantedmask)
-               printk(TPACPI_NOTICE
-                       "required events 0x%08x not enabled!\n",
-                       wantedmask);
+               pr_notice("required events 0x%08x not enabled!\n", wantedmask);
 }
 
 /*
@@ -2157,10 +2128,9 @@ static int hotkey_mask_set(u32 mask)
         * a given event.
         */
        if (!hotkey_mask_get() && !rc && (fwmask & ~hotkey_acpi_mask)) {
-               printk(TPACPI_NOTICE
-                      "asked for hotkey mask 0x%08x, but "
-                      "firmware forced it to 0x%08x\n",
-                      fwmask, hotkey_acpi_mask);
+               pr_notice("asked for hotkey mask 0x%08x, but "
+                         "firmware forced it to 0x%08x\n",
+                         fwmask, hotkey_acpi_mask);
        }
 
        if (tpacpi_lifecycle != TPACPI_LIFE_EXITING)
@@ -2184,13 +2154,11 @@ static int hotkey_user_mask_set(const u32 mask)
            (mask == 0xffff || mask == 0xffffff ||
             mask == 0xffffffff)) {
                tp_warned.hotkey_mask_ff = 1;
-               printk(TPACPI_NOTICE
-                      "setting the hotkey mask to 0x%08x is likely "
-                      "not the best way to go about it\n", mask);
-               printk(TPACPI_NOTICE
-                      "please consider using the driver defaults, "
-                      "and refer to up-to-date thinkpad-acpi "
-                      "documentation\n");
+               pr_notice("setting the hotkey mask to 0x%08x is likely "
+                         "not the best way to go about it\n", mask);
+               pr_notice("please consider using the driver defaults, "
+                         "and refer to up-to-date thinkpad-acpi "
+                         "documentation\n");
        }
 
        /* Try to enable what the user asked for, plus whatever we need.
@@ -2574,8 +2542,7 @@ static void hotkey_poll_setup(const bool may_warn)
                                        NULL, TPACPI_NVRAM_KTHREAD_NAME);
                        if (IS_ERR(tpacpi_hotkey_task)) {
                                tpacpi_hotkey_task = NULL;
-                               printk(TPACPI_ERR
-                                      "could not create kernel thread "
+                               pr_err("could not create kernel thread "
                                       "for hotkey polling\n");
                        }
                }
@@ -2583,11 +2550,10 @@ static void hotkey_poll_setup(const bool may_warn)
                hotkey_poll_stop_sync();
                if (may_warn && (poll_driver_mask || poll_user_mask) &&
                    hotkey_poll_freq == 0) {
-                       printk(TPACPI_NOTICE
-                               "hot keys 0x%08x and/or events 0x%08x "
-                               "require polling, which is currently "
-                               "disabled\n",
-                               poll_user_mask, poll_driver_mask);
+                       pr_notice("hot keys 0x%08x and/or events 0x%08x "
+                                 "require polling, which is currently "
+                                 "disabled\n",
+                                 poll_user_mask, poll_driver_mask);
                }
        }
 }
@@ -2811,13 +2777,13 @@ static ssize_t hotkey_source_mask_store(struct device *dev,
        mutex_unlock(&hotkey_mutex);
 
        if (rc < 0)
-               printk(TPACPI_ERR "hotkey_source_mask: failed to update the"
-                       "firmware event mask!\n");
+               pr_err("hotkey_source_mask: "
+                      "failed to update the firmware event mask!\n");
 
        if (r_ev)
-               printk(TPACPI_NOTICE "hotkey_source_mask: "
-                       "some important events were disabled: "
-                       "0x%04x\n", r_ev);
+               pr_notice("hotkey_source_mask: "
+                         "some important events were disabled: 0x%04x\n",
+                         r_ev);
 
        tpacpi_disclose_usertask("hotkey_source_mask", "set to 0x%08lx\n", t);
 
@@ -3048,8 +3014,7 @@ static void hotkey_exit(void)
        if (((tp_features.hotkey_mask &&
              hotkey_mask_set(hotkey_orig_mask)) |
             hotkey_status_set(false)) != 0)
-               printk(TPACPI_ERR
-                      "failed to restore hot key mask "
+               pr_err("failed to restore hot key mask "
                       "to BIOS defaults\n");
 }
 
@@ -3288,10 +3253,9 @@ static int __init hotkey_init(struct ibm_init_struct *iibm)
           for HKEY interface version 0x100 */
        if (acpi_evalf(hkey_handle, &hkeyv, "MHKV", "qd")) {
                if ((hkeyv >> 8) != 1) {
-                       printk(TPACPI_ERR "unknown version of the "
-                              "HKEY interface: 0x%x\n", hkeyv);
-                       printk(TPACPI_ERR "please report this to %s\n",
-                              TPACPI_MAIL);
+                       pr_err("unknown version of the HKEY interface: 0x%x\n",
+                              hkeyv);
+                       pr_err("please report this to %s\n", TPACPI_MAIL);
                } else {
                        /*
                         * MHKV 0x100 in A31, R40, R40e,
@@ -3304,8 +3268,7 @@ static int __init hotkey_init(struct ibm_init_struct *iibm)
                        /* Paranoia check AND init hotkey_all_mask */
                        if (!acpi_evalf(hkey_handle, &hotkey_all_mask,
                                        "MHKA", "qd")) {
-                               printk(TPACPI_ERR
-                                      "missing MHKA handler, "
+                               pr_err("missing MHKA handler, "
                                       "please report this to %s\n",
                                       TPACPI_MAIL);
                                /* Fallback: pre-init for FN+F3,F4,F12 */
@@ -3343,16 +3306,14 @@ static int __init hotkey_init(struct ibm_init_struct *iibm)
        if (dbg_wlswemul) {
                tp_features.hotkey_wlsw = 1;
                radiosw_state = !!tpacpi_wlsw_emulstate;
-               printk(TPACPI_INFO
-                       "radio switch emulation enabled\n");
+               pr_info("radio switch emulation enabled\n");
        } else
 #endif
        /* Not all thinkpads have a hardware radio switch */
        if (acpi_evalf(hkey_handle, &status, "WLSW", "qd")) {
                tp_features.hotkey_wlsw = 1;
                radiosw_state = !!status;
-               printk(TPACPI_INFO
-                       "radio switch found; radios are %s\n",
+               pr_info("radio switch found; radios are %s\n",
                        enabled(status, 0));
        }
        if (tp_features.hotkey_wlsw)
@@ -3363,8 +3324,7 @@ static int __init hotkey_init(struct ibm_init_struct *iibm)
        if (!res && acpi_evalf(hkey_handle, &status, "MHKG", "qd")) {
                tp_features.hotkey_tablet = 1;
                tabletsw_state = !!(status & TP_HOTKEY_TABLET_MASK);
-               printk(TPACPI_INFO
-                       "possible tablet mode switch found; "
+               pr_info("possible tablet mode switch found; "
                        "ThinkPad in %s mode\n",
                        (tabletsw_state) ? "tablet" : "laptop");
                res = add_to_attr_set(hotkey_dev_attributes,
@@ -3382,8 +3342,7 @@ static int __init hotkey_init(struct ibm_init_struct *iibm)
        hotkey_keycode_map = kmalloc(TPACPI_HOTKEY_MAP_SIZE,
                                        GFP_KERNEL);
        if (!hotkey_keycode_map) {
-               printk(TPACPI_ERR
-                       "failed to allocate memory for key map\n");
+               pr_err("failed to allocate memory for key map\n");
                res = -ENOMEM;
                goto err_exit;
        }
@@ -3426,13 +3385,11 @@ static int __init hotkey_init(struct ibm_init_struct *iibm)
         * userspace. tpacpi_detect_brightness_capabilities() must have
         * been called before this point  */
        if (tp_features.bright_acpimode && acpi_video_backlight_support()) {
-               printk(TPACPI_INFO
-                      "This ThinkPad has standard ACPI backlight "
-                      "brightness control, supported by the ACPI "
-                      "video driver\n");
-               printk(TPACPI_NOTICE
-                      "Disabling thinkpad-acpi brightness events "
-                      "by default...\n");
+               pr_info("This ThinkPad has standard ACPI backlight "
+                       "brightness control, supported by the ACPI "
+                       "video driver\n");
+               pr_notice("Disabling thinkpad-acpi brightness events "
+                         "by default...\n");
 
                /* Disable brightness up/down on Lenovo thinkpads when
                 * ACPI is handling them, otherwise it is plain impossible
@@ -3539,8 +3496,7 @@ static bool hotkey_notify_wakeup(const u32 hkey,
 
        case TP_HKEY_EV_WKUP_S3_BATLOW: /* Battery on critical low level/S3 */
        case TP_HKEY_EV_WKUP_S4_BATLOW: /* Battery on critical low level/S4 */
-               printk(TPACPI_ALERT
-                       "EMERGENCY WAKEUP: battery almost empty\n");
+               pr_alert("EMERGENCY WAKEUP: battery almost empty\n");
                /* how to auto-heal: */
                /* 2313: woke up from S3, go to S4/S5 */
                /* 2413: woke up from S4, go to S5 */
@@ -3551,9 +3507,7 @@ static bool hotkey_notify_wakeup(const u32 hkey,
        }
 
        if (hotkey_wakeup_reason != TP_ACPI_WAKEUP_NONE) {
-               printk(TPACPI_INFO
-                      "woke up due to a hot-unplug "
-                      "request...\n");
+               pr_info("woke up due to a hot-unplug request...\n");
                hotkey_wakeup_reason_notify_change();
        }
        return true;
@@ -3605,37 +3559,31 @@ static bool hotkey_notify_thermal(const u32 hkey,
 
        switch (hkey) {
        case TP_HKEY_EV_THM_TABLE_CHANGED:
-               printk(TPACPI_INFO
-                       "EC reports that Thermal Table has changed\n");
+               pr_info("EC reports that Thermal Table has changed\n");
                /* recommended action: do nothing, we don't have
                 * Lenovo ATM information */
                return true;
        case TP_HKEY_EV_ALARM_BAT_HOT:
-               printk(TPACPI_CRIT
-                       "THERMAL ALARM: battery is too hot!\n");
+               pr_crit("THERMAL ALARM: battery is too hot!\n");
                /* recommended action: warn user through gui */
                break;
        case TP_HKEY_EV_ALARM_BAT_XHOT:
-               printk(TPACPI_ALERT
-                       "THERMAL EMERGENCY: battery is extremely hot!\n");
+               pr_alert("THERMAL EMERGENCY: battery is extremely hot!\n");
                /* recommended action: immediate sleep/hibernate */
                break;
        case TP_HKEY_EV_ALARM_SENSOR_HOT:
-               printk(TPACPI_CRIT
-                       "THERMAL ALARM: "
+               pr_crit("THERMAL ALARM: "
                        "a sensor reports something is too hot!\n");
                /* recommended action: warn user through gui, that */
                /* some internal component is too hot */
                break;
        case TP_HKEY_EV_ALARM_SENSOR_XHOT:
-               printk(TPACPI_ALERT
-                       "THERMAL EMERGENCY: "
-                       "a sensor reports something is extremely hot!\n");
+               pr_alert("THERMAL EMERGENCY: "
+                        "a sensor reports something is extremely hot!\n");
                /* recommended action: immediate sleep/hibernate */
                break;
        default:
-               printk(TPACPI_ALERT
-                        "THERMAL ALERT: unknown thermal alarm received\n");
+               pr_alert("THERMAL ALERT: unknown thermal alarm received\n");
                known = false;
        }
 
@@ -3652,8 +3600,7 @@ static void hotkey_notify(struct ibm_struct *ibm, u32 event)
        bool known_ev;
 
        if (event != 0x80) {
-               printk(TPACPI_ERR
-                      "unknown HKEY notification event %d\n", event);
+               pr_err("unknown HKEY notification event %d\n", event);
                /* forward it to userspace, maybe it knows how to handle it */
                acpi_bus_generate_netlink_event(
                                        ibm->acpi->device->pnp.device_class,
@@ -3664,7 +3611,7 @@ static void hotkey_notify(struct ibm_struct *ibm, u32 event)
 
        while (1) {
                if (!acpi_evalf(hkey_handle, &hkey, "MHKP", "d")) {
-                       printk(TPACPI_ERR "failed to retrieve HKEY event\n");
+                       pr_err("failed to retrieve HKEY event\n");
                        return;
                }
 
@@ -3692,8 +3639,7 @@ static void hotkey_notify(struct ibm_struct *ibm, u32 event)
                        switch (hkey) {
                        case TP_HKEY_EV_BAYEJ_ACK:
                                hotkey_autosleep_ack = 1;
-                               printk(TPACPI_INFO
-                                      "bay ejected\n");
+                               pr_info("bay ejected\n");
                                hotkey_wakeup_hotunplug_complete_notify_change();
                                known_ev = true;
                                break;
@@ -3709,8 +3655,7 @@ static void hotkey_notify(struct ibm_struct *ibm, u32 event)
                        /* 0x4000-0x4FFF: dock-related wakeups */
                        if (hkey == TP_HKEY_EV_UNDOCK_ACK) {
                                hotkey_autosleep_ack = 1;
-                               printk(TPACPI_INFO
-                                      "undocked\n");
+                               pr_info("undocked\n");
                                hotkey_wakeup_hotunplug_complete_notify_change();
                                known_ev = true;
                        } else {
@@ -3741,11 +3686,9 @@ static void hotkey_notify(struct ibm_struct *ibm, u32 event)
                        known_ev = false;
                }
                if (!known_ev) {
-                       printk(TPACPI_NOTICE
-                              "unhandled HKEY event 0x%04x\n", hkey);
-                       printk(TPACPI_NOTICE
-                              "please report the conditions when this "
-                              "event happened to %s\n", TPACPI_MAIL);
+                       pr_notice("unhandled HKEY event 0x%04x\n", hkey);
+                       pr_notice("please report the conditions when this "
+                                 "event happened to %s\n", TPACPI_MAIL);
                }
 
                /* Legacy events */
@@ -3778,8 +3721,7 @@ static void hotkey_resume(void)
 
        if (hotkey_status_set(true) < 0 ||
            hotkey_mask_set(hotkey_acpi_mask) < 0)
-               printk(TPACPI_ERR
-                      "error while attempting to reset the event "
+               pr_err("error while attempting to reset the event "
                       "firmware interface\n");
 
        tpacpi_send_radiosw_update();
@@ -3824,14 +3766,12 @@ static void hotkey_enabledisable_warn(bool enable)
 {
        tpacpi_log_usertask("procfs hotkey enable/disable");
        if (!WARN((tpacpi_lifecycle == TPACPI_LIFE_RUNNING || !enable),
-                       TPACPI_WARN
-                       "hotkey enable/disable functionality has been "
-                       "removed from the driver.  Hotkeys are always "
-                       "enabled\n"))
-               printk(TPACPI_ERR
-                       "Please remove the hotkey=enable module "
-                       "parameter, it is deprecated.  Hotkeys are always "
-                       "enabled\n");
+                 pr_fmt("hotkey enable/disable functionality has been "
+                        "removed from the driver.  "
+                        "Hotkeys are always enabled.\n")))
+               pr_err("Please remove the hotkey=enable module "
+                      "parameter, it is deprecated.  "
+                      "Hotkeys are always enabled.\n");
 }
 
 static int hotkey_write(char *buf)
@@ -4011,8 +3951,7 @@ static void bluetooth_shutdown(void)
        /* Order firmware to save current state to NVRAM */
        if (!acpi_evalf(NULL, NULL, "\\BLTH", "vd",
                        TP_ACPI_BLTH_SAVE_STATE))
-               printk(TPACPI_NOTICE
-                       "failed to save bluetooth state to NVRAM\n");
+               pr_notice("failed to save bluetooth state to NVRAM\n");
        else
                vdbg_printk(TPACPI_DBG_RFKILL,
                        "bluestooth state saved to NVRAM\n");
@@ -4051,8 +3990,7 @@ static int __init bluetooth_init(struct ibm_init_struct *iibm)
 #ifdef CONFIG_THINKPAD_ACPI_DEBUGFACILITIES
        if (dbg_bluetoothemul) {
                tp_features.bluetooth = 1;
-               printk(TPACPI_INFO
-                       "bluetooth switch emulation enabled\n");
+               pr_info("bluetooth switch emulation enabled\n");
        } else
 #endif
        if (tp_features.bluetooth &&
@@ -4203,8 +4141,7 @@ static void wan_shutdown(void)
        /* Order firmware to save current state to NVRAM */
        if (!acpi_evalf(NULL, NULL, "\\WGSV", "vd",
                        TP_ACPI_WGSV_SAVE_STATE))
-               printk(TPACPI_NOTICE
-                       "failed to save WWAN state to NVRAM\n");
+               pr_notice("failed to save WWAN state to NVRAM\n");
        else
                vdbg_printk(TPACPI_DBG_RFKILL,
                        "WWAN state saved to NVRAM\n");
@@ -4241,8 +4178,7 @@ static int __init wan_init(struct ibm_init_struct *iibm)
 #ifdef CONFIG_THINKPAD_ACPI_DEBUGFACILITIES
        if (dbg_wwanemul) {
                tp_features.wan = 1;
-               printk(TPACPI_INFO
-                       "wwan switch emulation enabled\n");
+               pr_info("wwan switch emulation enabled\n");
        } else
 #endif
        if (tp_features.wan &&
@@ -4382,8 +4318,7 @@ static int __init uwb_init(struct ibm_init_struct *iibm)
 #ifdef CONFIG_THINKPAD_ACPI_DEBUGFACILITIES
        if (dbg_uwbemul) {
                tp_features.uwb = 1;
-               printk(TPACPI_INFO
-                       "uwb switch emulation enabled\n");
+               pr_info("uwb switch emulation enabled\n");
        } else
 #endif
        if (tp_features.uwb &&
@@ -4444,6 +4379,15 @@ static int video_orig_autosw;
 static int video_autosw_get(void);
 static int video_autosw_set(int enable);
 
+TPACPI_HANDLE(vid, root,
+             "\\_SB.PCI.AGP.VGA",      /* 570 */
+             "\\_SB.PCI0.AGP0.VID0",   /* 600e/x, 770x */
+             "\\_SB.PCI0.VID0",        /* 770e */
+             "\\_SB.PCI0.VID",         /* A21e, G4x, R50e, X30, X40 */
+             "\\_SB.PCI0.AGP.VGA",     /* X100e and a few others */
+             "\\_SB.PCI0.AGP.VID",     /* all others */
+       );                              /* R30, R31 */
+
 TPACPI_HANDLE(vid2, root, "\\_SB.PCI0.AGPB.VID");      /* G41 */
 
 static int __init video_init(struct ibm_init_struct *iibm)
@@ -4487,7 +4431,7 @@ static void video_exit(void)
        dbg_printk(TPACPI_DBG_EXIT,
                   "restoring original video autoswitch mode\n");
        if (video_autosw_set(video_orig_autosw))
-               printk(TPACPI_ERR "error while trying to restore original "
+               pr_err("error while trying to restore original "
                        "video autoswitch mode\n");
 }
 
@@ -4560,8 +4504,7 @@ static int video_outputsw_set(int status)
                res = acpi_evalf(vid_handle, NULL,
                                 "ASWT", "vdd", status * 0x100, 0);
                if (!autosw && video_autosw_set(autosw)) {
-                       printk(TPACPI_ERR
-                              "video auto-switch left enabled due to error\n");
+                       pr_err("video auto-switch left enabled due to error\n");
                        return -EIO;
                }
                break;
@@ -4630,8 +4573,7 @@ static int video_outputsw_cycle(void)
                return -ENOSYS;
        }
        if (!autosw && video_autosw_set(autosw)) {
-               printk(TPACPI_ERR
-                      "video auto-switch left enabled due to error\n");
+               pr_err("video auto-switch left enabled due to error\n");
                return -EIO;
        }
 
@@ -5348,7 +5290,7 @@ static int __init led_init(struct ibm_init_struct *iibm)
        tpacpi_leds = kzalloc(sizeof(*tpacpi_leds) * TPACPI_LED_NUMLEDS,
                              GFP_KERNEL);
        if (!tpacpi_leds) {
-               printk(TPACPI_ERR "Out of memory for LED data\n");
+               pr_err("Out of memory for LED data\n");
                return -ENOMEM;
        }
 
@@ -5367,9 +5309,8 @@ static int __init led_init(struct ibm_init_struct *iibm)
        }
 
 #ifdef CONFIG_THINKPAD_ACPI_UNSAFE_LEDS
-       printk(TPACPI_NOTICE
-               "warning: userspace override of important "
-               "firmware LEDs is enabled\n");
+       pr_notice("warning: userspace override of important "
+                 "firmware LEDs is enabled\n");
 #endif
        return 0;
 }
@@ -5639,17 +5580,16 @@ static void thermal_dump_all_sensors(void)
        if (n <= 0)
                return;
 
-       printk(TPACPI_NOTICE
-               "temperatures (Celsius):");
+       pr_notice("temperatures (Celsius):");
 
        for (i = 0; i < n; i++) {
                if (t.temp[i] != TPACPI_THERMAL_SENSOR_NA)
-                       printk(KERN_CONT " %d", (int)(t.temp[i] / 1000));
+                       pr_cont(" %d", (int)(t.temp[i] / 1000));
                else
-                       printk(KERN_CONT " N/A");
+                       pr_cont(" N/A");
        }
 
-       printk(KERN_CONT "\n");
+       pr_cont("\n");
 }
 
 /* sysfs temp##_input -------------------------------------------------- */
@@ -5769,14 +5709,12 @@ static int __init thermal_init(struct ibm_init_struct *iibm)
                if (ta1 == 0) {
                        /* This is sheer paranoia, but we handle it anyway */
                        if (acpi_tmp7) {
-                               printk(TPACPI_ERR
-                                      "ThinkPad ACPI EC access misbehaving, "
+                               pr_err("ThinkPad ACPI EC access misbehaving, "
                                       "falling back to ACPI TMPx access "
                                       "mode\n");
                                thermal_read_mode = TPACPI_THERMAL_ACPI_TMP07;
                        } else {
-                               printk(TPACPI_ERR
-                                      "ThinkPad ACPI EC access misbehaving, "
+                               pr_err("ThinkPad ACPI EC access misbehaving, "
                                       "disabling thermal sensors access\n");
                                thermal_read_mode = TPACPI_THERMAL_NONE;
                        }
@@ -6129,8 +6067,8 @@ static int __init tpacpi_query_bcl_levels(acpi_handle handle)
        if (ACPI_SUCCESS(acpi_evaluate_object(handle, "_BCL", NULL, &buffer))) {
                obj = (union acpi_object *)buffer.pointer;
                if (!obj || (obj->type != ACPI_TYPE_PACKAGE)) {
-                       printk(TPACPI_ERR "Unknown _BCL data, "
-                              "please report this to %s\n", TPACPI_MAIL);
+                       pr_err("Unknown _BCL data, please report this to %s\n",
+                              TPACPI_MAIL);
                        rc = 0;
                } else {
                        rc = obj->package.count;
@@ -6214,18 +6152,15 @@ static void __init tpacpi_detect_brightness_capabilities(void)
        switch (b) {
        case 16:
                bright_maxlvl = 15;
-               printk(TPACPI_INFO
-                      "detected a 16-level brightness capable ThinkPad\n");
+               pr_info("detected a 16-level brightness capable ThinkPad\n");
                break;
        case 8:
        case 0:
                bright_maxlvl = 7;
-               printk(TPACPI_INFO
-                      "detected a 8-level brightness capable ThinkPad\n");
+               pr_info("detected a 8-level brightness capable ThinkPad\n");
                break;
        default:
-               printk(TPACPI_ERR
-                      "Unsupported brightness interface, "
+               pr_err("Unsupported brightness interface, "
                       "please contact %s\n", TPACPI_MAIL);
                tp_features.bright_unkfw = 1;
                bright_maxlvl = b - 1;
@@ -6260,22 +6195,19 @@ static int __init brightness_init(struct ibm_init_struct *iibm)
 
        if (acpi_video_backlight_support()) {
                if (brightness_enable > 1) {
-                       printk(TPACPI_INFO
-                              "Standard ACPI backlight interface "
-                              "available, not loading native one.\n");
+                       pr_info("Standard ACPI backlight interface "
+                               "available, not loading native one\n");
                        return 1;
                } else if (brightness_enable == 1) {
-                       printk(TPACPI_WARN
-                               "Cannot enable backlight brightness support, "
+                       pr_warn("Cannot enable backlight brightness support, "
                                "ACPI is already handling it.  Refer to the "
-                               "acpi_backlight kernel parameter\n");
+                               "acpi_backlight kernel parameter.\n");
                        return 1;
                }
        } else if (tp_features.bright_acpimode && brightness_enable > 1) {
-               printk(TPACPI_NOTICE
-                       "Standard ACPI backlight interface not "
-                       "available, thinkpad_acpi native "
-                       "brightness control enabled\n");
+               pr_notice("Standard ACPI backlight interface not "
+                         "available, thinkpad_acpi native "
+                         "brightness control enabled\n");
        }
 
        /*
@@ -6319,19 +6251,17 @@ static int __init brightness_init(struct ibm_init_struct *iibm)
        if (IS_ERR(ibm_backlight_device)) {
                int rc = PTR_ERR(ibm_backlight_device);
                ibm_backlight_device = NULL;
-               printk(TPACPI_ERR "Could not register backlight device\n");
+               pr_err("Could not register backlight device\n");
                return rc;
        }
        vdbg_printk(TPACPI_DBG_INIT | TPACPI_DBG_BRGHT,
                        "brightness is supported\n");
 
        if (quirks & TPACPI_BRGHT_Q_ASK) {
-               printk(TPACPI_NOTICE
-                       "brightness: will use unverified default: "
-                       "brightness_mode=%d\n", brightness_mode);
-               printk(TPACPI_NOTICE
-                       "brightness: please report to %s whether it works well "
-                       "or not on your ThinkPad\n", TPACPI_MAIL);
+               pr_notice("brightness: will use unverified default: "
+                         "brightness_mode=%d\n", brightness_mode);
+               pr_notice("brightness: please report to %s whether it works well "
+                         "or not on your ThinkPad\n", TPACPI_MAIL);
        }
 
        /* Added by mistake in early 2007.  Probably useless, but it could
@@ -6804,8 +6734,7 @@ static int __init volume_create_alsa_mixer(void)
        rc = snd_card_create(alsa_index, alsa_id, THIS_MODULE,
                            sizeof(struct tpacpi_alsa_data), &card);
        if (rc < 0 || !card) {
-               printk(TPACPI_ERR
-                       "Failed to create ALSA card structures: %d\n", rc);
+               pr_err("Failed to create ALSA card structures: %d\n", rc);
                return 1;
        }
 
@@ -6839,9 +6768,8 @@ static int __init volume_create_alsa_mixer(void)
                ctl_vol = snd_ctl_new1(&volume_alsa_control_vol, NULL);
                rc = snd_ctl_add(card, ctl_vol);
                if (rc < 0) {
-                       printk(TPACPI_ERR
-                               "Failed to create ALSA volume control: %d\n",
-                               rc);
+                       pr_err("Failed to create ALSA volume control: %d\n",
+                              rc);
                        goto err_exit;
                }
                data->ctl_vol_id = &ctl_vol->id;
@@ -6850,8 +6778,7 @@ static int __init volume_create_alsa_mixer(void)
        ctl_mute = snd_ctl_new1(&volume_alsa_control_mute, NULL);
        rc = snd_ctl_add(card, ctl_mute);
        if (rc < 0) {
-               printk(TPACPI_ERR "Failed to create ALSA mute control: %d\n",
-                       rc);
+               pr_err("Failed to create ALSA mute control: %d\n", rc);
                goto err_exit;
        }
        data->ctl_mute_id = &ctl_mute->id;
@@ -6859,7 +6786,7 @@ static int __init volume_create_alsa_mixer(void)
        snd_card_set_dev(card, &tpacpi_pdev->dev);
        rc = snd_card_register(card);
        if (rc < 0) {
-               printk(TPACPI_ERR "Failed to register ALSA card: %d\n", rc);
+               pr_err("Failed to register ALSA card: %d\n", rc);
                goto err_exit;
        }
 
@@ -6915,9 +6842,8 @@ static int __init volume_init(struct ibm_init_struct *iibm)
                return -EINVAL;
 
        if (volume_mode == TPACPI_VOL_MODE_UCMS_STEP) {
-               printk(TPACPI_ERR
-                       "UCMS step volume mode not implemented, "
-                       "please contact %s\n", TPACPI_MAIL);
+               pr_err("UCMS step volume mode not implemented, "
+                      "please contact %s\n", TPACPI_MAIL);
                return 1;
        }
 
@@ -6981,13 +6907,11 @@ static int __init volume_init(struct ibm_init_struct *iibm)
 
        rc = volume_create_alsa_mixer();
        if (rc) {
-               printk(TPACPI_ERR
-                       "Could not create the ALSA mixer interface\n");
+               pr_err("Could not create the ALSA mixer interface\n");
                return rc;
        }
 
-       printk(TPACPI_INFO
-               "Console audio control enabled, mode: %s\n",
+       pr_info("Console audio control enabled, mode: %s\n",
                (volume_control_allowed) ?
                        "override (read/write)" :
                        "monitor (read only)");
@@ -7049,12 +6973,10 @@ static int volume_write(char *buf)
        if (!volume_control_allowed && tpacpi_lifecycle != TPACPI_LIFE_INIT) {
                if (unlikely(!tp_warned.volume_ctrl_forbidden)) {
                        tp_warned.volume_ctrl_forbidden = 1;
-                       printk(TPACPI_NOTICE
-                               "Console audio control in monitor mode, "
-                               "changes are not allowed.\n");
-                       printk(TPACPI_NOTICE
-                               "Use the volume_control=1 module parameter "
-                               "to enable volume control\n");
+                       pr_notice("Console audio control in monitor mode, "
+                                 "changes are not allowed\n");
+                       pr_notice("Use the volume_control=1 module parameter "
+                                 "to enable volume control\n");
                }
                return -EPERM;
        }
@@ -7129,8 +7051,7 @@ static void inline volume_alsa_notify_change(void)
 
 static int __init volume_init(struct ibm_init_struct *iibm)
 {
-       printk(TPACPI_INFO
-               "volume: disabled as there is no ALSA support in this kernel\n");
+       pr_info("volume: disabled as there is no ALSA support in this kernel\n");
 
        return 1;
 }
@@ -7337,9 +7258,8 @@ TPACPI_HANDLE(sfan, ec, "SFAN",   /* 570 */
 static void fan_quirk1_setup(void)
 {
        if (fan_control_initial_status == 0x07) {
-               printk(TPACPI_NOTICE
-                      "fan_init: initial fan status is unknown, "
-                      "assuming it is in auto mode\n");
+               pr_notice("fan_init: initial fan status is unknown, "
+                         "assuming it is in auto mode\n");
                tp_features.fan_ctrl_status_undef = 1;
        }
 }
@@ -7726,8 +7646,7 @@ static void fan_watchdog_reset(void)
                if (!queue_delayed_work(tpacpi_wq, &fan_watchdog_task,
                                msecs_to_jiffies(fan_watchdog_maxinterval
                                                 * 1000))) {
-                       printk(TPACPI_ERR
-                              "failed to queue the fan watchdog, "
+                       pr_err("failed to queue the fan watchdog, "
                               "watchdog will not trigger\n");
                }
        } else
@@ -7741,11 +7660,11 @@ static void fan_watchdog_fire(struct work_struct *ignored)
        if (tpacpi_lifecycle != TPACPI_LIFE_RUNNING)
                return;
 
-       printk(TPACPI_NOTICE "fan watchdog: enabling fan\n");
+       pr_notice("fan watchdog: enabling fan\n");
        rc = fan_set_enable();
        if (rc < 0) {
-               printk(TPACPI_ERR "fan watchdog: error %d while enabling fan, "
-                       "will try again later...\n", -rc);
+               pr_err("fan watchdog: error %d while enabling fan, "
+                      "will try again later...\n", -rc);
                /* reschedule for later */
                fan_watchdog_reset();
        }
@@ -8049,8 +7968,7 @@ static int __init fan_init(struct ibm_init_struct *iibm)
                                        "secondary fan support enabled\n");
                        }
                } else {
-                       printk(TPACPI_ERR
-                              "ThinkPad ACPI EC access misbehaving, "
+                       pr_err("ThinkPad ACPI EC access misbehaving, "
                               "fan status and control unavailable\n");
                        return 1;
                }
@@ -8150,9 +8068,8 @@ static void fan_suspend(pm_message_t state)
        fan_control_resume_level = 0;
        rc = fan_get_status_safe(&fan_control_resume_level);
        if (rc < 0)
-               printk(TPACPI_NOTICE
-                       "failed to read fan level for later "
-                       "restore during resume: %d\n", rc);
+               pr_notice("failed to read fan level for later "
+                         "restore during resume: %d\n", rc);
 
        /* if it is undefined, don't attempt to restore it.
         * KEEP THIS LAST */
@@ -8207,13 +8124,11 @@ static void fan_resume(void)
                return;
        }
        if (do_set) {
-               printk(TPACPI_NOTICE
-                       "restoring fan level to 0x%02x\n",
-                       fan_control_resume_level);
+               pr_notice("restoring fan level to 0x%02x\n",
+                         fan_control_resume_level);
                rc = fan_set_level_safe(fan_control_resume_level);
                if (rc < 0)
-                       printk(TPACPI_NOTICE
-                               "failed to restore fan level: %d\n", rc);
+                       pr_notice("failed to restore fan level: %d\n", rc);
        }
 }
 
@@ -8305,8 +8220,8 @@ static int fan_write_cmd_level(const char *cmd, int *rc)
 
        *rc = fan_set_level_safe(level);
        if (*rc == -ENXIO)
-               printk(TPACPI_ERR "level command accepted for unsupported "
-                      "access mode %d", fan_control_access_mode);
+               pr_err("level command accepted for unsupported access mode %d\n",
+                      fan_control_access_mode);
        else if (!*rc)
                tpacpi_disclose_usertask("procfs fan",
                        "set level to %d\n", level);
@@ -8321,8 +8236,8 @@ static int fan_write_cmd_enable(const char *cmd, int *rc)
 
        *rc = fan_set_enable();
        if (*rc == -ENXIO)
-               printk(TPACPI_ERR "enable command accepted for unsupported "
-                      "access mode %d", fan_control_access_mode);
+               pr_err("enable command accepted for unsupported access mode %d\n",
+                      fan_control_access_mode);
        else if (!*rc)
                tpacpi_disclose_usertask("procfs fan", "enable\n");
 
@@ -8336,8 +8251,8 @@ static int fan_write_cmd_disable(const char *cmd, int *rc)
 
        *rc = fan_set_disable();
        if (*rc == -ENXIO)
-               printk(TPACPI_ERR "disable command accepted for unsupported "
-                      "access mode %d", fan_control_access_mode);
+               pr_err("disable command accepted for unsupported access mode %d\n",
+                      fan_control_access_mode);
        else if (!*rc)
                tpacpi_disclose_usertask("procfs fan", "disable\n");
 
@@ -8356,8 +8271,8 @@ static int fan_write_cmd_speed(const char *cmd, int *rc)
 
        *rc = fan_set_speed(speed);
        if (*rc == -ENXIO)
-               printk(TPACPI_ERR "speed command accepted for unsupported "
-                      "access mode %d", fan_control_access_mode);
+               pr_err("speed command accepted for unsupported access mode %d\n",
+                      fan_control_access_mode);
        else if (!*rc)
                tpacpi_disclose_usertask("procfs fan",
                        "set speed to %d\n", speed);
@@ -8560,8 +8475,8 @@ static int __init ibm_init(struct ibm_init_struct *iibm)
                if (ibm->acpi->notify) {
                        ret = setup_acpi_notify(ibm);
                        if (ret == -ENODEV) {
-                               printk(TPACPI_NOTICE "disabling subdriver %s\n",
-                                       ibm->name);
+                               pr_notice("disabling subdriver %s\n",
+                                         ibm->name);
                                ret = 0;
                                goto err_out;
                        }
@@ -8583,8 +8498,7 @@ static int __init ibm_init(struct ibm_init_struct *iibm)
                entry = proc_create_data(ibm->name, mode, proc_dir,
                                         &dispatch_proc_fops, ibm);
                if (!entry) {
-                       printk(TPACPI_ERR "unable to create proc entry %s\n",
-                              ibm->name);
+                       pr_err("unable to create proc entry %s\n", ibm->name);
                        ret = -ENODEV;
                        goto err_out;
                }
@@ -8683,13 +8597,11 @@ static int __must_check __init get_thinkpad_model_data(
                                tp->ec_release = (ec_fw_string[4] << 8)
                                                | ec_fw_string[5];
                        } else {
-                               printk(TPACPI_NOTICE
-                                       "ThinkPad firmware release %s "
-                                       "doesn't match the known patterns\n",
-                                       ec_fw_string);
-                               printk(TPACPI_NOTICE
-                                       "please report this to %s\n",
-                                       TPACPI_MAIL);
+                               pr_notice("ThinkPad firmware release %s "
+                                         "doesn't match the known patterns\n",
+                                         ec_fw_string);
+                               pr_notice("please report this to %s\n",
+                                         TPACPI_MAIL);
                        }
                        break;
                }
@@ -8733,8 +8645,7 @@ static int __init probe_for_thinkpad(void)
        tpacpi_acpi_handle_locate("ec", TPACPI_ACPI_EC_HID, &ec_handle);
        if (!ec_handle) {
                if (is_thinkpad)
-                       printk(TPACPI_ERR
-                               "Not yet supported ThinkPad detected!\n");
+                       pr_err("Not yet supported ThinkPad detected!\n");
                return -ENODEV;
        }
 
@@ -8746,10 +8657,10 @@ static int __init probe_for_thinkpad(void)
 
 static void __init thinkpad_acpi_init_banner(void)
 {
-       printk(TPACPI_INFO "%s v%s\n", TPACPI_DESC, TPACPI_VERSION);
-       printk(TPACPI_INFO "%s\n", TPACPI_URL);
+       pr_info("%s v%s\n", TPACPI_DESC, TPACPI_VERSION);
+       pr_info("%s\n", TPACPI_URL);
 
-       printk(TPACPI_INFO "ThinkPad BIOS %s, EC %s\n",
+       pr_info("ThinkPad BIOS %s, EC %s\n",
                (thinkpad_id.bios_version_str) ?
                        thinkpad_id.bios_version_str : "unknown",
                (thinkpad_id.ec_version_str) ?
@@ -8758,7 +8669,7 @@ static void __init thinkpad_acpi_init_banner(void)
        BUG_ON(!thinkpad_id.vendor);
 
        if (thinkpad_id.model_str)
-               printk(TPACPI_INFO "%s %s, model %s\n",
+               pr_info("%s %s, model %s\n",
                        (thinkpad_id.vendor == PCI_VENDOR_ID_IBM) ?
                                "IBM" : ((thinkpad_id.vendor ==
                                                PCI_VENDOR_ID_LENOVO) ?
@@ -9024,8 +8935,7 @@ static int __init thinkpad_acpi_module_init(void)
 
        ret = get_thinkpad_model_data(&thinkpad_id);
        if (ret) {
-               printk(TPACPI_ERR
-                       "unable to get DMI data: %d\n", ret);
+               pr_err("unable to get DMI data: %d\n", ret);
                thinkpad_acpi_module_exit();
                return ret;
        }
@@ -9051,16 +8961,14 @@ static int __init thinkpad_acpi_module_init(void)
 
        proc_dir = proc_mkdir(TPACPI_PROC_DIR, acpi_root_dir);
        if (!proc_dir) {
-               printk(TPACPI_ERR
-                      "unable to create proc dir " TPACPI_PROC_DIR);
+               pr_err("unable to create proc dir " TPACPI_PROC_DIR "\n");
                thinkpad_acpi_module_exit();
                return -ENODEV;
        }
 
        ret = platform_driver_register(&tpacpi_pdriver);
        if (ret) {
-               printk(TPACPI_ERR
-                      "unable to register main platform driver\n");
+               pr_err("unable to register main platform driver\n");
                thinkpad_acpi_module_exit();
                return ret;
        }
@@ -9068,8 +8976,7 @@ static int __init thinkpad_acpi_module_init(void)
 
        ret = platform_driver_register(&tpacpi_hwmon_pdriver);
        if (ret) {
-               printk(TPACPI_ERR
-                      "unable to register hwmon platform driver\n");
+               pr_err("unable to register hwmon platform driver\n");
                thinkpad_acpi_module_exit();
                return ret;
        }
@@ -9082,8 +8989,7 @@ static int __init thinkpad_acpi_module_init(void)
                                        &tpacpi_hwmon_pdriver.driver);
        }
        if (ret) {
-               printk(TPACPI_ERR
-                      "unable to create sysfs driver attributes\n");
+               pr_err("unable to create sysfs driver attributes\n");
                thinkpad_acpi_module_exit();
                return ret;
        }
@@ -9096,7 +9002,7 @@ static int __init thinkpad_acpi_module_init(void)
        if (IS_ERR(tpacpi_pdev)) {
                ret = PTR_ERR(tpacpi_pdev);
                tpacpi_pdev = NULL;
-               printk(TPACPI_ERR "unable to register platform device\n");
+               pr_err("unable to register platform device\n");
                thinkpad_acpi_module_exit();
                return ret;
        }
@@ -9106,16 +9012,14 @@ static int __init thinkpad_acpi_module_init(void)
        if (IS_ERR(tpacpi_sensors_pdev)) {
                ret = PTR_ERR(tpacpi_sensors_pdev);
                tpacpi_sensors_pdev = NULL;
-               printk(TPACPI_ERR
-                      "unable to register hwmon platform device\n");
+               pr_err("unable to register hwmon platform device\n");
                thinkpad_acpi_module_exit();
                return ret;
        }
        ret = device_create_file(&tpacpi_sensors_pdev->dev,
                                 &dev_attr_thinkpad_acpi_pdev_name);
        if (ret) {
-               printk(TPACPI_ERR
-                      "unable to create sysfs hwmon device attributes\n");
+               pr_err("unable to create sysfs hwmon device attributes\n");
                thinkpad_acpi_module_exit();
                return ret;
        }
@@ -9124,14 +9028,14 @@ static int __init thinkpad_acpi_module_init(void)
        if (IS_ERR(tpacpi_hwmon)) {
                ret = PTR_ERR(tpacpi_hwmon);
                tpacpi_hwmon = NULL;
-               printk(TPACPI_ERR "unable to register hwmon device\n");
+               pr_err("unable to register hwmon device\n");
                thinkpad_acpi_module_exit();
                return ret;
        }
        mutex_init(&tpacpi_inputdev_send_mutex);
        tpacpi_inputdev = input_allocate_device();
        if (!tpacpi_inputdev) {
-               printk(TPACPI_ERR "unable to allocate input device\n");
+               pr_err("unable to allocate input device\n");
                thinkpad_acpi_module_exit();
                return -ENOMEM;
        } else {
@@ -9163,7 +9067,7 @@ static int __init thinkpad_acpi_module_init(void)
 
        ret = input_register_device(tpacpi_inputdev);
        if (ret < 0) {
-               printk(TPACPI_ERR "unable to register input device\n");
+               pr_err("unable to register input device\n");
                thinkpad_acpi_module_exit();
                return ret;
        } else {
index 1d07d6d09f27a4f94c67de17b9c3cead101b0e84..4c20447ddbb73cfc572e7668f2fd6da431f34275 100644 (file)
@@ -194,7 +194,7 @@ static int __init topstar_laptop_init(void)
        if (ret < 0)
                return ret;
 
-       printk(KERN_INFO "Topstar Laptop ACPI extras driver loaded\n");
+       pr_info("ACPI extras driver loaded\n");
 
        return 0;
 }
index 63f42a22e10240a32d58c6f4bd1ce7ddc87428b6..cb009b2629eef532c444bf71ce1372106cfd9327 100644 (file)
@@ -35,6 +35,8 @@
  *
  */
 
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
 #define TOSHIBA_ACPI_VERSION   "0.19"
 #define PROC_INTERFACE_VERSION 1
 
@@ -60,11 +62,6 @@ MODULE_AUTHOR("John Belmonte");
 MODULE_DESCRIPTION("Toshiba Laptop ACPI Extras Driver");
 MODULE_LICENSE("GPL");
 
-#define MY_LOGPREFIX "toshiba_acpi: "
-#define MY_ERR KERN_ERR MY_LOGPREFIX
-#define MY_NOTICE KERN_NOTICE MY_LOGPREFIX
-#define MY_INFO KERN_INFO MY_LOGPREFIX
-
 /* Toshiba ACPI method paths */
 #define METHOD_LCD_BRIGHTNESS  "\\_SB_.PCI0.VGA_.LCD_._BCM"
 #define TOSH_INTERFACE_1       "\\_SB_.VALD"
@@ -301,7 +298,7 @@ static int toshiba_illumination_available(void)
        in[0] = 0xf100;
        status = hci_raw(in, out);
        if (ACPI_FAILURE(status)) {
-               printk(MY_INFO "Illumination device not available\n");
+               pr_info("Illumination device not available\n");
                return 0;
        }
        in[0] = 0xf400;
@@ -320,7 +317,7 @@ static void toshiba_illumination_set(struct led_classdev *cdev,
        in[0] = 0xf100;
        status = hci_raw(in, out);
        if (ACPI_FAILURE(status)) {
-               printk(MY_INFO "Illumination device not available\n");
+               pr_info("Illumination device not available\n");
                return;
        }
 
@@ -331,7 +328,7 @@ static void toshiba_illumination_set(struct led_classdev *cdev,
                in[2] = 1;
                status = hci_raw(in, out);
                if (ACPI_FAILURE(status)) {
-                       printk(MY_INFO "ACPI call for illumination failed.\n");
+                       pr_info("ACPI call for illumination failed\n");
                        return;
                }
        } else {
@@ -341,7 +338,7 @@ static void toshiba_illumination_set(struct led_classdev *cdev,
                in[2] = 0;
                status = hci_raw(in, out);
                if (ACPI_FAILURE(status)) {
-                       printk(MY_INFO "ACPI call for illumination failed.\n");
+                       pr_info("ACPI call for illumination failed.\n");
                        return;
                }
        }
@@ -364,7 +361,7 @@ static enum led_brightness toshiba_illumination_get(struct led_classdev *cdev)
        in[0] = 0xf100;
        status = hci_raw(in, out);
        if (ACPI_FAILURE(status)) {
-               printk(MY_INFO "Illumination device not available\n");
+               pr_info("Illumination device not available\n");
                return LED_OFF;
        }
 
@@ -373,7 +370,7 @@ static enum led_brightness toshiba_illumination_get(struct led_classdev *cdev)
        in[1] = 0x14e;
        status = hci_raw(in, out);
        if (ACPI_FAILURE(status)) {
-               printk(MY_INFO "ACPI call for illumination failed.\n");
+               pr_info("ACPI call for illumination failed.\n");
                return LED_OFF;
        }
 
@@ -517,7 +514,7 @@ static int lcd_proc_show(struct seq_file *m, void *v)
                seq_printf(m, "brightness_levels:       %d\n",
                             HCI_LCD_BRIGHTNESS_LEVELS);
        } else {
-               printk(MY_ERR "Error reading LCD brightness\n");
+               pr_err("Error reading LCD brightness\n");
        }
 
        return 0;
@@ -592,7 +589,7 @@ static int video_proc_show(struct seq_file *m, void *v)
                seq_printf(m, "crt_out:                 %d\n", is_crt);
                seq_printf(m, "tv_out:                  %d\n", is_tv);
        } else {
-               printk(MY_ERR "Error reading video out status\n");
+               pr_err("Error reading video out status\n");
        }
 
        return 0;
@@ -686,7 +683,7 @@ static int fan_proc_show(struct seq_file *m, void *v)
                seq_printf(m, "running:                 %d\n", (value > 0));
                seq_printf(m, "force_on:                %d\n", force_fan);
        } else {
-               printk(MY_ERR "Error reading fan status\n");
+               pr_err("Error reading fan status\n");
        }
 
        return 0;
@@ -750,9 +747,9 @@ static int keys_proc_show(struct seq_file *m, void *v)
                         * some machines where system events sporadically
                         * become disabled. */
                        hci_write1(HCI_SYSTEM_EVENT, 1, &hci_result);
-                       printk(MY_NOTICE "Re-enabled hotkeys\n");
+                       pr_notice("Re-enabled hotkeys\n");
                } else {
-                       printk(MY_ERR "Error reading hotkey status\n");
+                       pr_err("Error reading hotkey status\n");
                        goto end;
                }
        }
@@ -863,7 +860,7 @@ static void toshiba_acpi_notify(acpi_handle handle, u32 event, void *context)
 
                        if (!sparse_keymap_report_event(toshiba_acpi.hotkey_dev,
                                                        value, 1, true)) {
-                               printk(MY_INFO "Unknown key %x\n",
+                               pr_info("Unknown key %x\n",
                                       value);
                        }
                } else if (hci_result == HCI_NOT_SUPPORTED) {
@@ -871,7 +868,7 @@ static void toshiba_acpi_notify(acpi_handle handle, u32 event, void *context)
                         * some machines where system events sporadically
                         * become disabled. */
                        hci_write1(HCI_SYSTEM_EVENT, 1, &hci_result);
-                       printk(MY_NOTICE "Re-enabled hotkeys\n");
+                       pr_notice("Re-enabled hotkeys\n");
                }
        } while (hci_result != HCI_EMPTY);
 }
@@ -883,13 +880,13 @@ static int __init toshiba_acpi_setup_keyboard(char *device)
 
        status = acpi_get_handle(NULL, device, &toshiba_acpi.handle);
        if (ACPI_FAILURE(status)) {
-               printk(MY_INFO "Unable to get notification device\n");
+               pr_info("Unable to get notification device\n");
                return -ENODEV;
        }
 
        toshiba_acpi.hotkey_dev = input_allocate_device();
        if (!toshiba_acpi.hotkey_dev) {
-               printk(MY_INFO "Unable to register input device\n");
+               pr_info("Unable to register input device\n");
                return -ENOMEM;
        }
 
@@ -905,21 +902,21 @@ static int __init toshiba_acpi_setup_keyboard(char *device)
        status = acpi_install_notify_handler(toshiba_acpi.handle,
                                ACPI_DEVICE_NOTIFY, toshiba_acpi_notify, NULL);
        if (ACPI_FAILURE(status)) {
-               printk(MY_INFO "Unable to install hotkey notification\n");
+               pr_info("Unable to install hotkey notification\n");
                error = -ENODEV;
                goto err_free_keymap;
        }
 
        status = acpi_evaluate_object(toshiba_acpi.handle, "ENAB", NULL, NULL);
        if (ACPI_FAILURE(status)) {
-               printk(MY_INFO "Unable to enable hotkeys\n");
+               pr_info("Unable to enable hotkeys\n");
                error = -ENODEV;
                goto err_remove_notify;
        }
 
        error = input_register_device(toshiba_acpi.hotkey_dev);
        if (error) {
-               printk(MY_INFO "Unable to register input device\n");
+               pr_info("Unable to register input device\n");
                goto err_remove_notify;
        }
 
@@ -980,17 +977,17 @@ static int __init toshiba_acpi_init(void)
        if (is_valid_acpi_path(TOSH_INTERFACE_1 GHCI_METHOD)) {
                method_hci = TOSH_INTERFACE_1 GHCI_METHOD;
                if (toshiba_acpi_setup_keyboard(TOSH_INTERFACE_1))
-                       printk(MY_INFO "Unable to activate hotkeys\n");
+                       pr_info("Unable to activate hotkeys\n");
        } else if (is_valid_acpi_path(TOSH_INTERFACE_2 GHCI_METHOD)) {
                method_hci = TOSH_INTERFACE_2 GHCI_METHOD;
                if (toshiba_acpi_setup_keyboard(TOSH_INTERFACE_2))
-                       printk(MY_INFO "Unable to activate hotkeys\n");
+                       pr_info("Unable to activate hotkeys\n");
        } else
                return -ENODEV;
 
-       printk(MY_INFO "Toshiba Laptop ACPI Extras version %s\n",
+       pr_info("Toshiba Laptop ACPI Extras version %s\n",
               TOSHIBA_ACPI_VERSION);
-       printk(MY_INFO "    HCI method: %s\n", method_hci);
+       pr_info("    HCI method: %s\n", method_hci);
 
        mutex_init(&toshiba_acpi.mutex);
 
@@ -998,7 +995,7 @@ static int __init toshiba_acpi_init(void)
                                                              -1, NULL, 0);
        if (IS_ERR(toshiba_acpi.p_dev)) {
                ret = PTR_ERR(toshiba_acpi.p_dev);
-               printk(MY_ERR "unable to register platform device\n");
+               pr_err("unable to register platform device\n");
                toshiba_acpi.p_dev = NULL;
                toshiba_acpi_exit();
                return ret;
@@ -1028,7 +1025,7 @@ static int __init toshiba_acpi_init(void)
         if (IS_ERR(toshiba_backlight_device)) {
                ret = PTR_ERR(toshiba_backlight_device);
 
-               printk(KERN_ERR "Could not register toshiba backlight device\n");
+               pr_err("Could not register toshiba backlight device\n");
                toshiba_backlight_device = NULL;
                toshiba_acpi_exit();
                return ret;
@@ -1042,14 +1039,14 @@ static int __init toshiba_acpi_init(void)
                                                   &toshiba_rfk_ops,
                                                   &toshiba_acpi);
                if (!toshiba_acpi.bt_rfk) {
-                       printk(MY_ERR "unable to allocate rfkill device\n");
+                       pr_err("unable to allocate rfkill device\n");
                        toshiba_acpi_exit();
                        return -ENOMEM;
                }
 
                ret = rfkill_register(toshiba_acpi.bt_rfk);
                if (ret) {
-                       printk(MY_ERR "unable to register rfkill device\n");
+                       pr_err("unable to register rfkill device\n");
                        rfkill_destroy(toshiba_acpi.bt_rfk);
                        toshiba_acpi_exit();
                        return ret;
index 944068611919394eaa42c6337e96b2e1e02b9fee..5fb7186694df034f85d47fd6c3d5e8a03ac5a51b 100644 (file)
@@ -17,6 +17,8 @@
  * delivered.
  */
 
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/init.h>
@@ -70,14 +72,13 @@ static int toshiba_bluetooth_enable(acpi_handle handle)
        if (!(result & 0x01))
                return 0;
 
-       printk(KERN_INFO "toshiba_bluetooth: Re-enabling Toshiba Bluetooth\n");
+       pr_info("Re-enabling Toshiba Bluetooth\n");
        res1 = acpi_evaluate_object(handle, "AUSB", NULL, NULL);
        res2 = acpi_evaluate_object(handle, "BTPO", NULL, NULL);
        if (!ACPI_FAILURE(res1) || !ACPI_FAILURE(res2))
                return 0;
 
-       printk(KERN_WARNING "toshiba_bluetooth: Failed to re-enable "
-              "Toshiba Bluetooth\n");
+       pr_warn("Failed to re-enable Toshiba Bluetooth\n");
 
        return -ENODEV;
 }
@@ -107,8 +108,8 @@ static int toshiba_bt_rfkill_add(struct acpi_device *device)
                                       &bt_present);
 
        if (!ACPI_FAILURE(status) && bt_present) {
-               printk(KERN_INFO "Detected Toshiba ACPI Bluetooth device - "
-                     "installing RFKill handler\n");
+               pr_info("Detected Toshiba ACPI Bluetooth device - "
+                       "installing RFKill handler\n");
                result = toshiba_bluetooth_enable(device->handle);
        }
 
index 05cc79672a8baf3e32b79db9400a950e4c6dcd81..f23d5a84e7b1b61108bdb651b5a240bed3ee4ed0 100644 (file)
@@ -486,16 +486,16 @@ static void wmi_dump_wdg(const struct guid_block *g)
        pr_info("\tnotify_id: %02X\n", g->notify_id);
        pr_info("\treserved: %02X\n", g->reserved);
        pr_info("\tinstance_count: %d\n", g->instance_count);
-       pr_info("\tflags: %#x ", g->flags);
+       pr_info("\tflags: %#x", g->flags);
        if (g->flags) {
                if (g->flags & ACPI_WMI_EXPENSIVE)
-                       pr_cont("ACPI_WMI_EXPENSIVE ");
+                       pr_cont(" ACPI_WMI_EXPENSIVE");
                if (g->flags & ACPI_WMI_METHOD)
-                       pr_cont("ACPI_WMI_METHOD ");
+                       pr_cont(" ACPI_WMI_METHOD");
                if (g->flags & ACPI_WMI_STRING)
-                       pr_cont("ACPI_WMI_STRING ");
+                       pr_cont(" ACPI_WMI_STRING");
                if (g->flags & ACPI_WMI_EVENT)
-                       pr_cont("ACPI_WMI_EVENT ");
+                       pr_cont(" ACPI_WMI_EVENT");
        }
        pr_cont("\n");
 
index c1372ed9d2e95c1744c161f50ae6ce92bc27797c..fad153dc0355e33db828fe6d3e12ef97bea2b429 100644 (file)
@@ -11,6 +11,8 @@
  *  your option) any later version.
  */
 
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/init.h>
@@ -20,7 +22,6 @@
 #include <acpi/acpi_drivers.h>
 
 #define MODULE_NAME "xo15-ebook"
-#define PREFIX MODULE_NAME ": "
 
 #define XO15_EBOOK_CLASS               MODULE_NAME
 #define XO15_EBOOK_TYPE_UNKNOWN        0x00
@@ -105,7 +106,7 @@ static int ebook_switch_add(struct acpi_device *device)
        class = acpi_device_class(device);
 
        if (strcmp(hid, XO15_EBOOK_HID)) {
-               printk(KERN_ERR PREFIX "Unsupported hid [%s]\n", hid);
+               pr_err("Unsupported hid [%s]\n", hid);
                error = -ENODEV;
                goto err_free_input;
        }