summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFurquan Shaikh <furquan@chromium.org>2016-11-09 10:52:12 -0800
committerFurquan Shaikh <furquan@google.com>2016-11-10 20:40:06 +0100
commit73edd2b7c07fb8ad5455086f126c079734a904b7 (patch)
tree806718e89aa04e286cf99b107462fc72403a0a00
parent5a08fb2203125b719eeb14852f12aeba50798df4 (diff)
downloadcoreboot-73edd2b7c07fb8ad5455086f126c079734a904b7.tar.xz
drivers/i2c/wacom: Make the driver more generic
Wacom I2C driver can be used by devices other than touchscreen. e.g. digitizer. So there is no need to name the driver with touchscreen specific attributes. Only a separate descriptor name is required that needs to be set by mainboard correctly. BUG=chrome-os-partner:56246 BRANCH=None TEST=Compiles successfully. Change-Id: I0d32a4adae477373b3f4c5f3abbe188860701194 Signed-off-by: Furquan Shaikh <furquan@chromium.org> Reviewed-on: https://review.coreboot.org/17341 Tested-by: build bot (Jenkins) Reviewed-by: Martin Roth <martinroth@google.com> Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
-rw-r--r--src/drivers/i2c/wacom/Kconfig (renamed from src/drivers/i2c/wacom_ts/Kconfig)2
-rw-r--r--src/drivers/i2c/wacom/Makefile.inc1
-rw-r--r--src/drivers/i2c/wacom/chip.h (renamed from src/drivers/i2c/wacom_ts/chip.h)9
-rw-r--r--src/drivers/i2c/wacom/wacom.c (renamed from src/drivers/i2c/wacom_ts/ts.c)28
-rw-r--r--src/drivers/i2c/wacom_ts/Makefile.inc1
-rw-r--r--src/mainboard/google/reef/Kconfig2
-rw-r--r--src/mainboard/google/reef/variants/pyro/devicetree.cb2
7 files changed, 23 insertions, 22 deletions
diff --git a/src/drivers/i2c/wacom_ts/Kconfig b/src/drivers/i2c/wacom/Kconfig
index 50da3f14ec..be2bf8336b 100644
--- a/src/drivers/i2c/wacom_ts/Kconfig
+++ b/src/drivers/i2c/wacom/Kconfig
@@ -1,3 +1,3 @@
-config DRIVERS_I2C_WACOM_TS
+config DRIVERS_I2C_WACOM
bool
select DRIVERS_I2C_GENERIC
diff --git a/src/drivers/i2c/wacom/Makefile.inc b/src/drivers/i2c/wacom/Makefile.inc
new file mode 100644
index 0000000000..e8df2c68a8
--- /dev/null
+++ b/src/drivers/i2c/wacom/Makefile.inc
@@ -0,0 +1 @@
+ramstage-$(CONFIG_DRIVERS_I2C_WACOM) += wacom.c
diff --git a/src/drivers/i2c/wacom_ts/chip.h b/src/drivers/i2c/wacom/chip.h
index 3c748d5158..fc75194119 100644
--- a/src/drivers/i2c/wacom_ts/chip.h
+++ b/src/drivers/i2c/wacom/chip.h
@@ -13,8 +13,8 @@
* GNU General Public License for more details.
*/
-#ifndef __I2C_WACOM_TS_CHIP_H__
-#define __I2C_WACOM_TS_CHIP_H__
+#ifndef __I2C_WACOM_CHIP_H__
+#define __I2C_WACOM_CHIP_H__
#include <drivers/i2c/generic/chip.h>
@@ -22,10 +22,11 @@
#define WCOMNTN2_HID "WCOMNTN2"
#define PNP0C50_CID "PNP0C50"
#define WCOM_TS_DESC "WCOM Touchscreen"
+#define WCOM_DT_DESC "WCOM Digitizer"
-struct drivers_i2c_wacom_ts_config {
+struct drivers_i2c_wacom_config {
struct drivers_i2c_generic_config generic;
uint8_t hid_desc_reg_offset;
};
-#endif /* __I2C_WACOM_TS_CHIP_H__ */
+#endif /* __I2C_WACOM_CHIP_H__ */
diff --git a/src/drivers/i2c/wacom_ts/ts.c b/src/drivers/i2c/wacom/wacom.c
index ebc888361b..c54194fc96 100644
--- a/src/drivers/i2c/wacom_ts/ts.c
+++ b/src/drivers/i2c/wacom/wacom.c
@@ -18,9 +18,9 @@
#include <stdint.h>
#include "chip.h"
-static void i2c_wacom_ts_fill_dsm(struct device *dev)
+static void i2c_wacom_fill_dsm(struct device *dev)
{
- struct drivers_i2c_wacom_ts_config *config = dev->chip_info;
+ struct drivers_i2c_wacom_config *config = dev->chip_info;
struct dsm_i2c_hid_config dsm_config = {
.hid_desc_reg_offset = config->hid_desc_reg_offset,
};
@@ -28,32 +28,32 @@ static void i2c_wacom_ts_fill_dsm(struct device *dev)
acpigen_write_dsm_i2c_hid(&dsm_config);
}
-static void i2c_wacom_ts_fill_ssdt_generator(struct device *dev)
+static void i2c_wacom_fill_ssdt_generator(struct device *dev)
{
- i2c_generic_fill_ssdt(dev, &i2c_wacom_ts_fill_dsm);
+ i2c_generic_fill_ssdt(dev, &i2c_wacom_fill_dsm);
}
-static const char *i2c_wacom_ts_acpi_name(struct device *dev)
+static const char *i2c_wacom_acpi_name(struct device *dev)
{
- return "WCTS";
+ return "WCOM";
}
-static struct device_operations i2c_wacom_ts_ops = {
+static struct device_operations i2c_wacom_ops = {
.read_resources = DEVICE_NOOP,
.set_resources = DEVICE_NOOP,
.enable_resources = DEVICE_NOOP,
#if IS_ENABLED(CONFIG_HAVE_ACPI_TABLES)
- .acpi_name = &i2c_wacom_ts_acpi_name,
- .acpi_fill_ssdt_generator = &i2c_wacom_ts_fill_ssdt_generator,
+ .acpi_name = &i2c_wacom_acpi_name,
+ .acpi_fill_ssdt_generator = &i2c_wacom_fill_ssdt_generator,
#endif
};
-static void i2c_wacom_ts_enable(struct device *dev)
+static void i2c_wacom_enable(struct device *dev)
{
- dev->ops = &i2c_wacom_ts_ops;
+ dev->ops = &i2c_wacom_ops;
}
-struct chip_operations drivers_i2c_wacom_ts_ops = {
- CHIP_NAME("Wacom Touchscreen Device")
- .enable_dev = &i2c_wacom_ts_enable
+struct chip_operations drivers_i2c_wacom_ops = {
+ CHIP_NAME("Wacom I2C Device")
+ .enable_dev = &i2c_wacom_enable
};
diff --git a/src/drivers/i2c/wacom_ts/Makefile.inc b/src/drivers/i2c/wacom_ts/Makefile.inc
deleted file mode 100644
index 94550997f6..0000000000
--- a/src/drivers/i2c/wacom_ts/Makefile.inc
+++ /dev/null
@@ -1 +0,0 @@
-ramstage-$(CONFIG_DRIVERS_I2C_WACOM_TS) += ts.c
diff --git a/src/mainboard/google/reef/Kconfig b/src/mainboard/google/reef/Kconfig
index edfdb7b647..4e32b8614f 100644
--- a/src/mainboard/google/reef/Kconfig
+++ b/src/mainboard/google/reef/Kconfig
@@ -42,7 +42,7 @@ config DRIVERS_I2C_DA7219
config DRIVERS_I2C_GENERIC
default y
-config DRIVERS_I2C_WACOM_TS
+config DRIVERS_I2C_WACOM
default y
config DRIVERS_PS2_KEYBOARD
diff --git a/src/mainboard/google/reef/variants/pyro/devicetree.cb b/src/mainboard/google/reef/variants/pyro/devicetree.cb
index da893b1d36..d5745b4be7 100644
--- a/src/mainboard/google/reef/variants/pyro/devicetree.cb
+++ b/src/mainboard/google/reef/variants/pyro/devicetree.cb
@@ -180,7 +180,7 @@ chip soc/intel/apollolake
end
end # - I2C 2
device pci 16.3 on
- chip drivers/i2c/wacom_ts
+ chip drivers/i2c/wacom
register "generic" = "{
.hid = WCOMNTN2_HID,
.cid = PNP0C50_CID,