summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosh Boyer <jwboyer@fedoraproject.org>2015-04-22 10:16:54 -0400
committerJosh Boyer <jwboyer@fedoraproject.org>2015-04-22 10:16:54 -0400
commit2bfd285dcd565cac5479de29495459b6b55627b6 (patch)
treeea0017aba3b7906c17330dc658579d46b1baae7f
parent3c73a9603098f94dec8ee49d25a22f3b0d946d3a (diff)
downloadkernel-2bfd285dcd565cac5479de29495459b6b55627b6.tar.gz
kernel-2bfd285dcd565cac5479de29495459b6b55627b6.tar.xz
kernel-2bfd285dcd565cac5479de29495459b6b55627b6.zip
Linux v4.0-9804-gdb4fd9c5d072
-rw-r--r--Input-atmel_mxt_ts-add-support-for-Google-Pixel-2.patch223
-rw-r--r--config-generic4
-rw-r--r--kernel.spec11
3 files changed, 8 insertions, 230 deletions
diff --git a/Input-atmel_mxt_ts-add-support-for-Google-Pixel-2.patch b/Input-atmel_mxt_ts-add-support-for-Google-Pixel-2.patch
deleted file mode 100644
index 2e8af3375..000000000
--- a/Input-atmel_mxt_ts-add-support-for-Google-Pixel-2.patch
+++ /dev/null
@@ -1,223 +0,0 @@
-From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-Date: Tue, 7 Apr 2015 16:30:01 -0700
-Subject: [PATCH] Input: atmel_mxt_ts - add support for Google Pixel 2
-
-This change allows atmel_mxt_ts to bind to ACPI-enumerated devices in
-Google Pixel 2 (2015).
-
-While newer version of ACPI standard allow use of device-tree-like
-properties in device descriptions, the version of ACPI implemented in
-Google BIOS does not support them, and we have to resort to DMI data to
-specify exact characteristics of the devices (touchpad vs. touchscreen,
-GPIO to button mapping, etc).
-
-Pixel 1 continues to use i2c devices and platform data created by
-chromeos-laptop driver, since ACPI does not enumerate them.
-
-Reviewed-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
-Tested-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
-Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
----
- drivers/input/touchscreen/atmel_mxt_ts.c | 141 ++++++++++++++++++++++++++++---
- 1 file changed, 130 insertions(+), 11 deletions(-)
-
-diff --git a/drivers/input/touchscreen/atmel_mxt_ts.c b/drivers/input/touchscreen/atmel_mxt_ts.c
-index 2875ddf37289..40b98dda8f38 100644
---- a/drivers/input/touchscreen/atmel_mxt_ts.c
-+++ b/drivers/input/touchscreen/atmel_mxt_ts.c
-@@ -14,6 +14,8 @@
- *
- */
-
-+#include <linux/acpi.h>
-+#include <linux/dmi.h>
- #include <linux/module.h>
- #include <linux/init.h>
- #include <linux/completion.h>
-@@ -2371,7 +2373,7 @@ static void mxt_input_close(struct input_dev *dev)
- }
-
- #ifdef CONFIG_OF
--static struct mxt_platform_data *mxt_parse_dt(struct i2c_client *client)
-+static const struct mxt_platform_data *mxt_parse_dt(struct i2c_client *client)
- {
- struct mxt_platform_data *pdata;
- u32 *keymap;
-@@ -2379,7 +2381,7 @@ static struct mxt_platform_data *mxt_parse_dt(struct i2c_client *client)
- int proplen, i, ret;
-
- if (!client->dev.of_node)
-- return ERR_PTR(-ENODEV);
-+ return ERR_PTR(-ENOENT);
-
- pdata = devm_kzalloc(&client->dev, sizeof(*pdata), GFP_KERNEL);
- if (!pdata)
-@@ -2410,25 +2412,132 @@ static struct mxt_platform_data *mxt_parse_dt(struct i2c_client *client)
- return pdata;
- }
- #else
--static struct mxt_platform_data *mxt_parse_dt(struct i2c_client *client)
-+static const struct mxt_platform_data *mxt_parse_dt(struct i2c_client *client)
- {
-- dev_dbg(&client->dev, "No platform data specified\n");
-- return ERR_PTR(-EINVAL);
-+ return ERR_PTR(-ENOENT);
-+}
-+#endif
-+
-+#ifdef CONFIG_ACPI
-+
-+struct mxt_acpi_platform_data {
-+ const char *hid;
-+ struct mxt_platform_data pdata;
-+};
-+
-+static unsigned int samus_touchpad_buttons[] = {
-+ KEY_RESERVED,
-+ KEY_RESERVED,
-+ KEY_RESERVED,
-+ BTN_LEFT
-+};
-+
-+static struct mxt_acpi_platform_data samus_platform_data[] = {
-+ {
-+ /* Touchpad */
-+ .hid = "ATML0000",
-+ .pdata = {
-+ .t19_num_keys = ARRAY_SIZE(samus_touchpad_buttons),
-+ .t19_keymap = samus_touchpad_buttons,
-+ },
-+ },
-+ {
-+ /* Touchscreen */
-+ .hid = "ATML0001",
-+ },
-+ { }
-+};
-+
-+static const struct dmi_system_id mxt_dmi_table[] = {
-+ {
-+ /* 2015 Google Pixel */
-+ .ident = "Chromebook Pixel 2",
-+ .matches = {
-+ DMI_MATCH(DMI_SYS_VENDOR, "GOOGLE"),
-+ DMI_MATCH(DMI_PRODUCT_NAME, "Samus"),
-+ },
-+ .driver_data = samus_platform_data,
-+ },
-+ { }
-+};
-+
-+static const struct mxt_platform_data *mxt_parse_acpi(struct i2c_client *client)
-+{
-+ struct acpi_device *adev;
-+ const struct dmi_system_id *system_id;
-+ const struct mxt_acpi_platform_data *acpi_pdata;
-+
-+ /*
-+ * Ignore ACPI devices representing bootloader mode.
-+ *
-+ * This is a bit of a hack: Google Chromebook BIOS creates ACPI
-+ * devices for both application and bootloader modes, but we are
-+ * interested in application mode only (if device is in bootloader
-+ * mode we'll end up switching into application anyway). So far
-+ * application mode addresses were all above 0x40, so we'll use it
-+ * as a threshold.
-+ */
-+ if (client->addr < 0x40)
-+ return ERR_PTR(-ENXIO);
-+
-+ adev = ACPI_COMPANION(&client->dev);
-+ if (!adev)
-+ return ERR_PTR(-ENOENT);
-+
-+ system_id = dmi_first_match(mxt_dmi_table);
-+ if (!system_id)
-+ return ERR_PTR(-ENOENT);
-+
-+ acpi_pdata = system_id->driver_data;
-+ if (!acpi_pdata)
-+ return ERR_PTR(-ENOENT);
-+
-+ while (acpi_pdata->hid) {
-+ if (!strcmp(acpi_device_hid(adev), acpi_pdata->hid))
-+ return &acpi_pdata->pdata;
-+
-+ acpi_pdata++;
-+ }
-+
-+ return ERR_PTR(-ENOENT);
-+}
-+#else
-+static const struct mxt_platform_data *mxt_parse_acpi(struct i2c_client *client)
-+{
-+ return ERR_PTR(-ENOENT);
- }
- #endif
-
-+static const struct mxt_platform_data *
-+mxt_get_platform_data(struct i2c_client *client)
-+{
-+ const struct mxt_platform_data *pdata;
-+
-+ pdata = dev_get_platdata(&client->dev);
-+ if (pdata)
-+ return pdata;
-+
-+ pdata = mxt_parse_dt(client);
-+ if (!IS_ERR(pdata) || PTR_ERR(pdata) != -ENOENT)
-+ return pdata;
-+
-+ pdata = mxt_parse_acpi(client);
-+ if (!IS_ERR(pdata) || PTR_ERR(pdata) != -ENOENT)
-+ return pdata;
-+
-+ dev_err(&client->dev, "No platform data specified\n");
-+ return ERR_PTR(-EINVAL);
-+}
-+
- static int mxt_probe(struct i2c_client *client, const struct i2c_device_id *id)
- {
- struct mxt_data *data;
- const struct mxt_platform_data *pdata;
- int error;
-
-- pdata = dev_get_platdata(&client->dev);
-- if (!pdata) {
-- pdata = mxt_parse_dt(client);
-- if (IS_ERR(pdata))
-- return PTR_ERR(pdata);
-- }
-+ pdata = mxt_get_platform_data(client);
-+ if (IS_ERR(pdata))
-+ return PTR_ERR(pdata);
-
- data = kzalloc(sizeof(struct mxt_data), GFP_KERNEL);
- if (!data) {
-@@ -2536,6 +2645,15 @@ static const struct of_device_id mxt_of_match[] = {
- };
- MODULE_DEVICE_TABLE(of, mxt_of_match);
-
-+#ifdef CONFIG_ACPI
-+static const struct acpi_device_id mxt_acpi_id[] = {
-+ { "ATML0000", 0 }, /* Touchpad */
-+ { "ATML0001", 0 }, /* Touchscreen */
-+ { }
-+};
-+MODULE_DEVICE_TABLE(acpi, mxt_acpi_id);
-+#endif
-+
- static const struct i2c_device_id mxt_id[] = {
- { "qt602240_ts", 0 },
- { "atmel_mxt_ts", 0 },
-@@ -2550,6 +2668,7 @@ static struct i2c_driver mxt_driver = {
- .name = "atmel_mxt_ts",
- .owner = THIS_MODULE,
- .of_match_table = of_match_ptr(mxt_of_match),
-+ .acpi_match_table = ACPI_PTR(mxt_acpi_id),
- .pm = &mxt_pm_ops,
- },
- .probe = mxt_probe,
---
-2.1.0
-
diff --git a/config-generic b/config-generic
index 9e7439894..d14208325 100644
--- a/config-generic
+++ b/config-generic
@@ -2246,6 +2246,8 @@ CONFIG_MOUSE_PS2=y
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
CONFIG_MOUSE_PS2_ELANTECH=y
CONFIG_MOUSE_PS2_SENTELIC=y
+# Fedora 22 and 23 don't have a new enough xorg-x11-drv-vmmouse. Revisit
+# CONFIG_MOUSE_PS2_VMMOUSE is not set
CONFIG_MOUSE_SERIAL=m
CONFIG_MOUSE_VSXXXAA=m
CONFIG_MOUSE_APPLETOUCH=m
@@ -3101,12 +3103,14 @@ CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
CONFIG_MEDIA_RADIO_SUPPORT=y
CONFIG_MEDIA_RC_SUPPORT=y
CONFIG_MEDIA_CONTROLLER=y
+# CONFIG_MEDIA_CONTROLLER_DVB is not set
# CONFIG_MEDIA_SDR_SUPPORT is not set
CONFIG_VIDEO_DEV=m
# CONFIG_VIDEO_ADV_DEBUG is not set
CONFIG_VIDEO_V4L2=y
CONFIG_VIDEO_V4L2_SUBDEV_API=y
# CONFIG_VIDEO_VIVI is not set
+# CONFIG_VIDEO_XILINX is not set
# CONFIG_USB_SI4713 is not set
# CONFIG_PLATFORM_SI4713 is not set
# CONFIG_I2C_SI4713 is not set
diff --git a/kernel.spec b/kernel.spec
index 6438ab74a..8adb7c25c 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -67,7 +67,7 @@ Summary: The Linux kernel
# The rc snapshot level
%define rcrev 0
# The git snapshot level
-%define gitrev 11
+%define gitrev 12
# Set rpm version accordingly
%define rpmversion 4.%{upstream_sublevel}.0
%endif
@@ -611,9 +611,6 @@ Patch26175: xen-pciback-Don-t-disable-PCI_COMMAND-on-PCI-device-.patch
#rhbz 1212230
Patch26176: Input-synaptics-pin-3-touches-when-the-firmware-repo.patch
-#rhbz 1209088
-Patch26177: Input-atmel_mxt_ts-add-support-for-Google-Pixel-2.patch
-
# END OF PATCH DEFINITIONS
%endif
@@ -1340,9 +1337,6 @@ ApplyPatch xen-pciback-Don-t-disable-PCI_COMMAND-on-PCI-device-.patch
#rhbz 1212230
ApplyPatch Input-synaptics-pin-3-touches-when-the-firmware-repo.patch
-#rhbz 1209088
-ApplyPatch Input-atmel_mxt_ts-add-support-for-Google-Pixel-2.patch
-
# END OF PATCH APPLICATIONS
%endif
@@ -2193,6 +2187,9 @@ fi
#
#
%changelog
+* Wed Apr 22 2015 Josh Boyer <jwboyer@fedoraproject.org> - 4.1.0-0.rc0.git12.1
+- Linux v4.0-9804-gdb4fd9c5d072
+
* Tue Apr 21 2015 Josh Boyer <jwboyer@fedoraproject.org> - 4.1.0-0.rc0.git11.1
- Linux v4.0-9362-g1fc149933fd4