T60/PMH7: move 'touchpad' option to pmh7
authorSven Schnelle <svens@stackframe.org>
Sun, 5 Jun 2011 19:32:51 +0000 (21:32 +0200)
committerSven Schnelle <svens@stackframe.org>
Tue, 7 Jun 2011 20:43:14 +0000 (22:43 +0200)
This option is PMH7 specific, and should be moved there,
so all Notebook utilizing a PMH7 have this option.
For Thinkpads without Touchpad (like the X60), simply
don't add 'touchpad' to cmos.layout.

Change-Id: Icdd0093670d565f1b16e2483aa286f4d63ccc52a
Signed-off-by: Sven Schnelle <svens@stackframe.org>
Reviewed-on: http://review.coreboot.org/6
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
src/ec/lenovo/pmh7/pmh7.c
src/mainboard/lenovo/t60/mainboard.c

index 0ac8fa18deaed53539049f4e4b0a07a8c7a4f1e6..30460c9021aa6486dc72308012b09f7ce1bcc5d5 100644 (file)
@@ -24,6 +24,7 @@
 #include <stdlib.h>
 #include "pmh7.h"
 #include "chip.h"
+#include <pc80/mc146818rtc.h>
 
 void pmh7_backlight_enable(int onoff)
 {
@@ -94,6 +95,7 @@ static void enable_dev(device_t dev)
 {
        struct ec_lenovo_pmh7_config *conf = dev->chip_info;
        struct resource *resource;
+       u8 val;
 
        resource = new_resource(dev, EC_LENOVO_PMH7_INDEX);
        resource->flags = IORESOURCE_IO | IORESOURCE_FIXED;
@@ -104,6 +106,9 @@ static void enable_dev(device_t dev)
 
        pmh7_backlight_enable(conf->backlight_enable);
        pmh7_dock_event_enable(conf->dock_event_enable);
+
+       if (!get_option(&val, "touchpad"))
+               pmh7_touchpad_enable(val);
 }
 
 struct chip_operations ec_lenovo_pmh7_ops = {
index d2ee2fab4ebaf6f18edbb5700bc2a9c31351fd9d..775145314ef46933ecbab1dfeec40d5a44471028 100644 (file)
 #include <ec/acpi/ec.h>
 #include <ec/lenovo/h8/h8.h>
 #include <northbridge/intel/i945/i945.h>
-#include <pc80/mc146818rtc.h>
 
 static void mainboard_enable(device_t dev)
 {
        device_t dev0, idedev;
-       u8 touchpad;
 
        /* enable Audio */
        h8_set_audio_mute(0);
@@ -49,11 +47,6 @@ static void mainboard_enable(device_t dev)
        if (dev0 && pci_read_config32(dev0, SKPAD) == 0xcafed00d)
                ec_write(0x0c, 0xc7);
 
-       if (get_option(&touchpad, "touchpad") < 0)
-               touchpad = 1;
-
-       pmh7_touchpad_enable(touchpad);
-
        idedev = dev_find_slot(0, PCI_DEVFN(0x1f,1));
        if (idedev && idedev->chip_info && h8_ultrabay_device_present()) {
                struct southbridge_intel_i82801gx_config *config = idedev->chip_info;