summaryrefslogtreecommitdiff
path: root/src/ec
diff options
context:
space:
mode:
Diffstat (limited to 'src/ec')
-rw-r--r--src/ec/lenovo/pmh7/pmh7.c12
-rw-r--r--src/ec/lenovo/pmh7/pmh7.h1
2 files changed, 13 insertions, 0 deletions
diff --git a/src/ec/lenovo/pmh7/pmh7.c b/src/ec/lenovo/pmh7/pmh7.c
index 9607c83e52..a4d0ccc466 100644
--- a/src/ec/lenovo/pmh7/pmh7.c
+++ b/src/ec/lenovo/pmh7/pmh7.c
@@ -55,6 +55,14 @@ void pmh7_touchpad_enable(int onoff)
pmh7_register_set_bit(0x51, 2);
}
+void pmh7_trackpoint_enable(int onoff)
+{
+ if (onoff)
+ pmh7_register_clear_bit(0x51, 0);
+ else
+ pmh7_register_set_bit(0x51, 0);
+}
+
void pmh7_ultrabay_power_enable(int onoff)
{
if (onoff)
@@ -116,6 +124,10 @@ static void enable_dev(device_t dev)
if (get_option(&val, "touchpad") != CB_SUCCESS)
val = 1;
pmh7_touchpad_enable(val);
+
+ if (get_option(&val, "trackpoint") != CB_SUCCESS)
+ val = 1;
+ pmh7_trackpoint_enable(val);
}
struct chip_operations ec_lenovo_pmh7_ops = {
diff --git a/src/ec/lenovo/pmh7/pmh7.h b/src/ec/lenovo/pmh7/pmh7.h
index 6e13b17965..4cd9535b7b 100644
--- a/src/ec/lenovo/pmh7/pmh7.h
+++ b/src/ec/lenovo/pmh7/pmh7.h
@@ -35,4 +35,5 @@ void pmh7_backlight_enable(int onoff);
void pmh7_dock_event_enable(int onoff);
void pmh7_touchpad_enable(int onoff);
void pmh7_ultrabay_power_enable(int onoff);
+void pmh7_trackpoint_enable(int onoff);
#endif