diff --git a/add-appleir-usb-driver.patch b/add-appleir-usb-driver.patch deleted file mode 100644 index 0ab0ed6..0000000 --- a/add-appleir-usb-driver.patch +++ /dev/null @@ -1,701 +0,0 @@ -From e11e9e78799a7641fe0dc5289f35f2604a4b71a3 Mon Sep 17 00:00:00 2001 -From: Bastien Nocera -Date: Sun, 17 Jan 2010 00:40:15 +0000 -Subject: [PATCH] Input: add appleir USB driver - -This driver was originally written by James McKenzie, updated by -Greg Kroah-Hartman, further updated by myself, with suspend support -added. - -More recent versions of the IR receiver are also supported through -a patch by Alex Karpenko. The patch also adds support for the 2nd -and 5th generation of the controller, and the menu key on newer -brushed metal remotes. - -Tested on a MacbookAir1,1 - -Signed-off-by: Bastien Nocera ---- - Documentation/input/appleir.txt | 46 ++++ - drivers/hid/hid-apple.c | 4 - - drivers/hid/hid-core.c | 7 +- - drivers/hid/hid-ids.h | 5 +- - drivers/input/misc/Kconfig | 13 + - drivers/input/misc/Makefile | 1 + - drivers/input/misc/appleir.c | 519 +++++++++++++++++++++++++++++++++++++++ - 7 files changed, 588 insertions(+), 7 deletions(-) - create mode 100644 Documentation/input/appleir.txt - create mode 100644 drivers/input/misc/appleir.c - -diff --git a/Documentation/input/appleir.txt b/Documentation/input/appleir.txt -new file mode 100644 -index 0000000..db637fb ---- /dev/null -+++ b/Documentation/input/appleir.txt -@@ -0,0 +1,46 @@ -+Apple IR receiver Driver (appleir) -+---------------------------------- -+ Copyright (C) 2009 Bastien Nocera -+ -+The appleir driver is a kernel input driver to handle Apple's IR -+receivers (and associated remotes) in the kernel. -+ -+The driver is an input driver which only handles "official" remotes -+as built and sold by Apple. -+ -+Authors -+------- -+ -+James McKenzie (original driver) -+Alex Karpenko (05ac:8242 support) -+Greg Kroah-Hartman (cleanups and original submission) -+Bastien Nocera (further cleanups, brushed metal "enter" -+button support and suspend support) -+ -+Supported hardware -+------------------ -+ -+- All Apple laptops and desktops from 2005 onwards, except: -+ - the unibody Macbook (2009) -+ - Mac Pro (all versions) -+- Apple TV (all revisions prior to September 2010) -+ -+The remote will only support the 6 (old white) or 7 (brushed metal) buttons -+of the remotes as sold by Apple. See the next section if you want to use -+other remotes or want to use lirc with the device instead of the kernel driver. -+ -+Using lirc (native) instead of the kernel driver -+------------------------------------------------ -+ -+First, you will need to disable the kernel driver for the receiver. -+ -+This can be achieved by passing quirks to the usbhid driver. -+The quirk line would be: -+usbhid.quirks=0x05ac:0x8242:0x40000010 -+ -+With 0x05ac being the vendor ID (Apple, you shouldn't need to change this) -+With 0x8242 being the product ID (check the output of lsusb for your hardware) -+And 0x10 being "HID_QUIRK_HIDDEV_FORCE" and 0x40000000 being "HID_QUIRK_NO_IGNORE" -+ -+This should force the creation of a hiddev device for the receiver, and -+make it usable under lirc. -diff --git a/drivers/hid/hid-apple.c b/drivers/hid/hid-apple.c -index bba05d0..0059d5a 100644 ---- a/drivers/hid/hid-apple.c -+++ b/drivers/hid/hid-apple.c -@@ -361,10 +361,6 @@ static void apple_remove(struct hid_device *hdev) - } - - static const struct hid_device_id apple_devices[] = { -- { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ATV_IRCONTROL), -- .driver_data = APPLE_HIDDEV | APPLE_IGNORE_HIDINPUT }, -- { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_IRCONTROL4), -- .driver_data = APPLE_HIDDEV | APPLE_IGNORE_HIDINPUT }, - { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MIGHTYMOUSE), - .driver_data = APPLE_MIGHTYMOUSE | APPLE_INVERT_HWHEEL }, - -diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c -index baa25ad..abc5bd7 100644 ---- a/drivers/hid/hid-core.c -+++ b/drivers/hid/hid-core.c -@@ -1244,8 +1244,6 @@ static const struct hid_device_id hid_blacklist[] = { - { HID_USB_DEVICE(USB_VENDOR_ID_A4TECH, USB_DEVICE_ID_A4TECH_RP_649) }, - { HID_USB_DEVICE(USB_VENDOR_ID_ACRUX, 0x0802) }, - { HID_USB_DEVICE(USB_VENDOR_ID_ACTIONSTAR, USB_DEVICE_ID_ACTIONSTAR_1011) }, -- { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ATV_IRCONTROL) }, -- { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_IRCONTROL4) }, - { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MIGHTYMOUSE) }, - { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MAGICMOUSE) }, - { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_ANSI) }, -@@ -1577,6 +1575,11 @@ static const struct hid_device_id hid_ignore_list[] = { - { HID_USB_DEVICE(USB_VENDOR_ID_AIPTEK, USB_DEVICE_ID_AIPTEK_24) }, - { HID_USB_DEVICE(USB_VENDOR_ID_AIRCABLE, USB_DEVICE_ID_AIRCABLE1) }, - { HID_USB_DEVICE(USB_VENDOR_ID_ALCOR, USB_DEVICE_ID_ALCOR_USBRS232) }, -+ { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_IRCONTROL) }, -+ { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_IRCONTROL2) }, -+ { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_IRCONTROL3) }, -+ { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_IRCONTROL4) }, -+ { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_IRCONTROL5) }, - { HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK, USB_DEVICE_ID_ASUSTEK_LCM)}, - { HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK, USB_DEVICE_ID_ASUSTEK_LCM2)}, - { HID_USB_DEVICE(USB_VENDOR_ID_AVERMEDIA, USB_DEVICE_ID_AVER_FM_MR800) }, -diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h -index 11af537..360a5ca 100644 ---- a/drivers/hid/hid-ids.h -+++ b/drivers/hid/hid-ids.h -@@ -100,8 +100,11 @@ - #define USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_JIS 0x023b - #define USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY 0x030a - #define USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY 0x030b --#define USB_DEVICE_ID_APPLE_ATV_IRCONTROL 0x8241 -+#define USB_DEVICE_ID_APPLE_IRCONTROL 0x8240 -+#define USB_DEVICE_ID_APPLE_IRCONTROL2 0x1440 -+#define USB_DEVICE_ID_APPLE_IRCONTROL3 0x8241 - #define USB_DEVICE_ID_APPLE_IRCONTROL4 0x8242 -+#define USB_DEVICE_ID_APPLE_IRCONTROL5 0x8243 - - #define USB_VENDOR_ID_ASUS 0x0486 - #define USB_DEVICE_ID_ASUS_T91MT 0x0185 -diff --git a/drivers/input/misc/Kconfig b/drivers/input/misc/Kconfig -index 60de906..2f2f2e7 100644 ---- a/drivers/input/misc/Kconfig -+++ b/drivers/input/misc/Kconfig - help - Say Y here if you need accelerometer to work in polling mode. - -+config INPUT_APPLEIR -+ tristate "Apple infrared receiver (built in)" -+ depends on USB_ARCH_HAS_HCD -+ select USB -+ help -+ Say Y here if you want to use a Apple infrared remote control. All -+ the Apple computers from 2005 onwards include such a port, except -+ the unibody Macbook (2009), and Mac Pros. This receiver is also -+ used in the Apple TV set-top box prior to the 2010 model. -+ -+ To compile this driver as a module, choose M here: the module will -+ be called appleir. -+ - config INPUT_POWERMATE - tristate "Griffin PowerMate and Contour Jog support" - depends on USB_ARCH_HAS_HCD -diff --git a/drivers/input/misc/Makefile b/drivers/input/misc/Makefile -index 1fe1f6c..d5ef2b9 100644 ---- a/drivers/input/misc/Makefile -+++ b/drivers/input/misc/Makefile -@@ -13,6 +13,7 @@ obj-$(CONFIG_INPUT_ADXL34X) += adxl34x.o - obj-$(CONFIG_INPUT_ADXL34X_I2C) += adxl34x-i2c.o - obj-$(CONFIG_INPUT_ADXL34X_SPI) += adxl34x-spi.o - obj-$(CONFIG_INPUT_APANEL) += apanel.o -+obj-$(CONFIG_INPUT_APPLEIR) += appleir.o - obj-$(CONFIG_INPUT_ATI_REMOTE) += ati_remote.o - obj-$(CONFIG_INPUT_ATI_REMOTE2) += ati_remote2.o - obj-$(CONFIG_INPUT_ATLAS_BTNS) += atlas_btns.o -diff --git a/drivers/input/misc/appleir.c b/drivers/input/misc/appleir.c -new file mode 100644 -index 0000000..3817a3c ---- /dev/null -+++ b/drivers/input/misc/appleir.c -@@ -0,0 +1,519 @@ -+/* -+ * appleir: USB driver for the apple ir device -+ * -+ * Original driver written by James McKenzie -+ * Ported to recent 2.6 kernel versions by Greg Kroah-Hartman -+ * -+ * Copyright (C) 2006 James McKenzie -+ * Copyright (C) 2008 Greg Kroah-Hartman -+ * Copyright (C) 2008 Novell Inc. -+ * -+ * 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, version 2. -+ * -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#define DRIVER_VERSION "v1.2" -+#define DRIVER_AUTHOR "James McKenzie" -+#define DRIVER_DESC "Apple infrared receiver driver" -+#define DRIVER_LICENSE "GPL" -+ -+MODULE_AUTHOR(DRIVER_AUTHOR); -+MODULE_DESCRIPTION(DRIVER_DESC); -+MODULE_LICENSE(DRIVER_LICENSE); -+ -+#define USB_VENDOR_ID_APPLE 0x05ac -+#define USB_DEVICE_ID_APPLE_IRCONTROL 0x8240 -+#define USB_DEVICE_ID_APPLE_IRCONTROL2 0x1440 -+#define USB_DEVICE_ID_APPLE_IRCONTROL3 0x8241 -+#define USB_DEVICE_ID_APPLE_IRCONTROL4 0x8242 -+#define USB_DEVICE_ID_APPLE_IRCONTROL5 0x8243 -+ -+#define URB_SIZE 32 -+ -+#define MAX_KEYS 9 -+#define MAX_KEYS_MASK (MAX_KEYS - 1) -+ -+#define dbginfo(dev, format, arg...) do { if (debug) dev_info(dev , format , ## arg); } while (0) -+ -+static int debug; -+module_param(debug, int, 0644); -+MODULE_PARM_DESC(debug, "Enable extra debug messages and information"); -+ -+/* I have two devices both of which report the following */ -+/* 25 87 ee 83 0a + */ -+/* 25 87 ee 83 0c - */ -+/* 25 87 ee 83 09 << */ -+/* 25 87 ee 83 06 >> */ -+/* 25 87 ee 83 05 >" */ -+/* 25 87 ee 83 03 menu */ -+/* 26 00 00 00 00 for key repeat*/ -+ -+/* Thomas Glanzmann reports the following responses */ -+/* 25 87 ee ca 0b + */ -+/* 25 87 ee ca 0d - */ -+/* 25 87 ee ca 08 << */ -+/* 25 87 ee ca 07 >> */ -+/* 25 87 ee ca 04 >" */ -+/* 25 87 ee ca 02 menu */ -+/* 26 00 00 00 00 for key repeat*/ -+/* He also observes the following event sometimes */ -+/* sent after a key is release, which I interpret */ -+/* as a flat battery message */ -+/* 25 87 e0 ca 06 flat battery */ -+ -+/* Alexandre Karpenko reports the following responses for Device ID 0x8242 */ -+/* 25 87 ee 47 0b + */ -+/* 25 87 ee 47 0d - */ -+/* 25 87 ee 47 08 << */ -+/* 25 87 ee 47 07 >> */ -+/* 25 87 ee 47 04 >" */ -+/* 25 87 ee 47 02 menu */ -+/* 26 87 ee 47 ** for key repeat (** is the code of the key being held) */ -+ -+/* Bastien Nocera's "new" remote */ -+/* 25 87 ee 91 5f followed by -+ * 25 87 ee 91 05 gives you >" -+ * -+ * 25 87 ee 91 5c followed by -+ * 25 87 ee 91 05 gives you the middle button */ -+ -+static const unsigned short appleir_key_table[] = { -+ KEY_RESERVED, -+ KEY_MENU, -+ KEY_PLAYPAUSE, -+ KEY_FORWARD, -+ KEY_BACK, -+ KEY_VOLUMEUP, -+ KEY_VOLUMEDOWN, -+ KEY_ENTER, -+ KEY_RESERVED, -+}; -+ -+struct appleir { -+ struct input_dev *input_dev; -+ unsigned short keymap[ARRAY_SIZE(appleir_key_table)]; -+ u8 *data; -+ dma_addr_t dma_buf; -+ struct usb_device *usbdev; -+ unsigned int flags; -+ struct urb *urb; -+ struct timer_list key_up_timer; -+ int current_key; -+ int prev_key_idx; -+ char phys[32]; -+}; -+ -+static DEFINE_MUTEX(appleir_mutex); -+ -+enum { -+ APPLEIR_OPENED = 0x1, -+ APPLEIR_SUSPENDED = 0x2, -+}; -+ -+static struct usb_device_id appleir_ids[] = { -+ { USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_IRCONTROL) }, -+ { USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_IRCONTROL2) }, -+ { USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_IRCONTROL3) }, -+ { USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_IRCONTROL4) }, -+ { USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_IRCONTROL5) }, -+ {} -+}; -+MODULE_DEVICE_TABLE(usb, appleir_ids); -+ -+static void dump_packet(struct appleir *appleir, char *msg, u8 *data, int len) -+{ -+ int i; -+ -+ printk(KERN_ERR "appleir: %s (%d bytes)", msg, len); -+ -+ for (i = 0; i < len; ++i) -+ printk(" %02x", data[i]); -+ printk(" (should be command %d)\n", (data[4] >> 1) & MAX_KEYS_MASK); -+} -+ -+static int get_key(int data) -+{ -+ switch (data) { -+ case 0x02: -+ case 0x03: -+ /* menu */ -+ return 1; -+ case 0x04: -+ case 0x05: -+ /* >" */ -+ return 2; -+ case 0x06: -+ case 0x07: -+ /* >> */ -+ return 3; -+ case 0x08: -+ case 0x09: -+ /* << */ -+ return 4; -+ case 0x0a: -+ case 0x0b: -+ /* + */ -+ return 5; -+ case 0x0c: -+ case 0x0d: -+ /* - */ -+ return 6; -+ case 0x5c: -+ /* Middle button, on newer remotes, -+ * part of a 2 packet-command */ -+ return -7; -+ default: -+ return -1; -+ } -+} -+ -+static void key_up(struct appleir *appleir, int key) -+{ -+ dbginfo(&appleir->input_dev->dev, "key %d up\n", key); -+ input_report_key(appleir->input_dev, key, 0); -+ input_sync(appleir->input_dev); -+} -+ -+static void key_down(struct appleir *appleir, int key) -+{ -+ dbginfo(&appleir->input_dev->dev, "key %d down\n", key); -+ input_report_key(appleir->input_dev, key, 1); -+ input_sync(appleir->input_dev); -+} -+ -+static void battery_flat(struct appleir *appleir) -+{ -+ dev_err(&appleir->input_dev->dev, "possible flat battery?\n"); -+} -+ -+static void key_up_tick(unsigned long data) -+{ -+ struct appleir *appleir = (struct appleir *)data; -+ -+ if (appleir->current_key) { -+ key_up(appleir, appleir->current_key); -+ appleir->current_key = 0; -+ } -+} -+ -+static void new_data(struct appleir *appleir, u8 *data, int len) -+{ -+ static const u8 keydown[] = { 0x25, 0x87, 0xee }; -+ static const u8 keyrepeat[] = { 0x26, }; -+ static const u8 flatbattery[] = { 0x25, 0x87, 0xe0 }; -+ -+ if (debug) -+ dump_packet(appleir, "received", data, len); -+ -+ if (len != 5) -+ return; -+ -+ if (!memcmp(data, keydown, sizeof(keydown))) { -+ int index; -+ -+ /* If we already have a key down, take it up before marking -+ this one down */ -+ if (appleir->current_key) -+ key_up(appleir, appleir->current_key); -+ -+ /* Handle dual packet commands */ -+ if (appleir->prev_key_idx > 0) -+ index = appleir->prev_key_idx; -+ else -+ index = get_key(data[4]); -+ -+ if (index > 0) { -+ appleir->current_key = appleir->keymap[index]; -+ -+ key_down(appleir, appleir->current_key); -+ /* Remote doesn't do key up, either pull them up, in the test -+ above, or here set a timer which pulls them up after 1/8 s */ -+ mod_timer(&appleir->key_up_timer, jiffies + HZ / 8); -+ appleir->prev_key_idx = 0; -+ return; -+ } else if (index == -7) { -+ /* Remember key for next packet */ -+ appleir->prev_key_idx = 0 - index; -+ return; -+ } -+ } -+ -+ appleir->prev_key_idx = 0; -+ -+ if (!memcmp(data, keyrepeat, sizeof(keyrepeat))) { -+ key_down(appleir, appleir->current_key); -+ /* Remote doesn't do key up, either pull them up, in the test -+ above, or here set a timer which pulls them up after 1/8 s */ -+ mod_timer(&appleir->key_up_timer, jiffies + HZ / 8); -+ return; -+ } -+ -+ if (!memcmp(data, flatbattery, sizeof(flatbattery))) { -+ battery_flat(appleir); -+ /* Fall through */ -+ } -+ -+ dump_packet(appleir, "unknown packet", data, len); -+} -+ -+static void appleir_urb(struct urb *urb) -+{ -+ struct appleir *appleir = urb->context; -+ int status = urb->status; -+ int retval; -+ -+ switch (status) { -+ case 0: -+ new_data(appleir, urb->transfer_buffer, urb->actual_length); -+ break; -+ case -ECONNRESET: -+ case -ENOENT: -+ case -ESHUTDOWN: -+ /* This urb is terminated, clean up */ -+ dbginfo(&appleir->input_dev->dev, "%s - urb shutting down with status: %d", __func__, -+ urb->status); -+ return; -+ default: -+ dbginfo(&appleir->input_dev->dev, "%s - nonzero urb status received: %d", __func__, -+ urb->status); -+ } -+ -+ retval = usb_submit_urb(urb, GFP_ATOMIC); -+ if (retval) -+ err("%s - usb_submit_urb failed with result %d", __func__, -+ retval); -+} -+ -+static int appleir_open(struct input_dev *dev) -+{ -+ struct appleir *appleir = input_get_drvdata(dev); -+ struct usb_interface *intf = usb_ifnum_to_if(appleir->usbdev, 0); -+ int r; -+ -+ r = usb_autopm_get_interface(intf); -+ if (r) { -+ dev_err(&intf->dev, -+ "%s(): usb_autopm_get_interface() = %d\n", __func__, r); -+ return r; -+ } -+ -+ mutex_lock(&appleir_mutex); -+ -+ if (usb_submit_urb(appleir->urb, GFP_ATOMIC)) { -+ r = -EIO; -+ goto fail; -+ } -+ -+ appleir->flags |= APPLEIR_OPENED; -+ -+ mutex_unlock(&appleir_mutex); -+ -+ usb_autopm_put_interface(intf); -+ -+ return 0; -+fail: -+ mutex_unlock(&appleir_mutex); -+ usb_autopm_put_interface(intf); -+ return r; -+} -+ -+static void appleir_close(struct input_dev *dev) -+{ -+ struct appleir *appleir = input_get_drvdata(dev); -+ -+ mutex_lock(&appleir_mutex); -+ -+ if (!(appleir->flags & APPLEIR_SUSPENDED)) { -+ usb_kill_urb(appleir->urb); -+ del_timer_sync(&appleir->key_up_timer); -+ } -+ -+ appleir->flags &= ~APPLEIR_OPENED; -+ -+ mutex_unlock(&appleir_mutex); -+} -+ -+static int appleir_probe(struct usb_interface *intf, -+ const struct usb_device_id *id) -+{ -+ struct usb_device *dev = interface_to_usbdev(intf); -+ struct usb_endpoint_descriptor *endpoint; -+ struct appleir *appleir = NULL; -+ struct input_dev *input_dev; -+ int retval = -ENOMEM; -+ int i; -+ -+ appleir = kzalloc(sizeof(struct appleir), GFP_KERNEL); -+ if (!appleir) -+ goto allocfail; -+ -+ appleir->data = usb_alloc_coherent(dev, URB_SIZE, GFP_KERNEL, -+ &appleir->dma_buf); -+ if (!appleir->data) -+ goto usbfail; -+ -+ appleir->urb = usb_alloc_urb(0, GFP_KERNEL); -+ if (!appleir->urb) -+ goto urbfail; -+ -+ appleir->usbdev = dev; -+ -+ input_dev = input_allocate_device(); -+ if (!input_dev) -+ goto inputfail; -+ -+ appleir->input_dev = input_dev; -+ -+ usb_make_path(dev, appleir->phys, sizeof(appleir->phys)); -+ strlcpy(appleir->phys, "/input0", sizeof(appleir->phys)); -+ -+ input_dev->name = "Apple Infrared Remote Controller"; -+ input_dev->phys = appleir->phys; -+ usb_to_input_id(dev, &input_dev->id); -+ input_dev->dev.parent = &intf->dev; -+ input_dev->keycode = appleir->keymap; -+ input_dev->keycodesize = sizeof(unsigned short); -+ input_dev->keycodemax = ARRAY_SIZE(appleir->keymap); -+ -+ input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_REP); -+ -+ memcpy(appleir->keymap, appleir_key_table, sizeof(appleir->keymap)); -+ for (i = 0; i < ARRAY_SIZE(appleir_key_table); i++) -+ set_bit(appleir->keymap[i], input_dev->keybit); -+ clear_bit(KEY_RESERVED, input_dev->keybit); -+ -+ input_set_drvdata(input_dev, appleir); -+ input_dev->open = appleir_open; -+ input_dev->close = appleir_close; -+ -+ endpoint = &intf->cur_altsetting->endpoint[0].desc; -+ -+ usb_fill_int_urb(appleir->urb, dev, -+ usb_rcvintpipe(dev, endpoint->bEndpointAddress), -+ appleir->data, 8, -+ appleir_urb, appleir, endpoint->bInterval); -+ -+ appleir->urb->transfer_dma = appleir->dma_buf; -+ appleir->urb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP; -+ -+ setup_timer(&appleir->key_up_timer, -+ key_up_tick, (unsigned long) appleir); -+ -+ retval = input_register_device(appleir->input_dev); -+ if (retval) -+ goto inputfail; -+ -+ usb_set_intfdata(intf, appleir); -+ -+ return 0; -+ -+inputfail: -+ input_free_device(appleir->input_dev); -+ -+urbfail: -+ usb_free_urb(appleir->urb); -+ -+usbfail: -+ usb_free_coherent(dev, URB_SIZE, appleir->data, -+ appleir->dma_buf); -+ -+allocfail: -+ kfree(appleir); -+ -+ return retval; -+} -+ -+static void appleir_disconnect(struct usb_interface *intf) -+{ -+ struct appleir *appleir = usb_get_intfdata(intf); -+ -+ usb_set_intfdata(intf, NULL); -+ input_unregister_device(appleir->input_dev); -+ usb_free_urb(appleir->urb); -+ usb_free_coherent(interface_to_usbdev(intf), URB_SIZE, -+ appleir->data, appleir->dma_buf); -+ kfree(appleir); -+} -+ -+static int appleir_suspend(struct usb_interface *interface, -+ pm_message_t message) -+{ -+ struct appleir *appleir = usb_get_intfdata(interface); -+ -+ mutex_lock(&appleir_mutex); -+ if (appleir->flags & APPLEIR_OPENED) -+ usb_kill_urb(appleir->urb); -+ -+ appleir->flags |= APPLEIR_SUSPENDED; -+ -+ mutex_unlock(&appleir_mutex); -+ -+ return 0; -+} -+ -+static int appleir_resume(struct usb_interface *interface) -+{ -+ struct appleir *appleir; -+ int r = 0; -+ -+ appleir = usb_get_intfdata(interface); -+ -+ mutex_lock(&appleir_mutex); -+ if (appleir->flags & APPLEIR_OPENED) { -+ struct usb_endpoint_descriptor *endpoint; -+ -+ endpoint = &interface->cur_altsetting->endpoint[0].desc; -+ usb_fill_int_urb(appleir->urb, appleir->usbdev, -+ usb_rcvintpipe(appleir->usbdev, endpoint->bEndpointAddress), -+ appleir->data, 8, -+ appleir_urb, appleir, endpoint->bInterval); -+ appleir->urb->transfer_dma = appleir->dma_buf; -+ appleir->urb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP; -+ -+ /* And reset the USB device */ -+ if (usb_submit_urb(appleir->urb, GFP_ATOMIC)) -+ r = -EIO; -+ } -+ -+ appleir->flags &= ~APPLEIR_SUSPENDED; -+ -+ mutex_unlock(&appleir_mutex); -+ -+ return r; -+} -+ -+static struct usb_driver appleir_driver = { -+ .name = "appleir", -+ .probe = appleir_probe, -+ .disconnect = appleir_disconnect, -+ .suspend = appleir_suspend, -+ .resume = appleir_resume, -+ .reset_resume = appleir_resume, -+ .id_table = appleir_ids, -+}; -+ -+static int __init appleir_init(void) -+{ -+ return usb_register(&appleir_driver); -+} -+ -+static void __exit appleir_exit(void) -+{ -+ usb_deregister(&appleir_driver); -+} -+ -+module_init(appleir_init); -+module_exit(appleir_exit); --- -1.7.2.2 - diff --git a/add-macbookair41-keyboard.patch b/add-macbookair41-keyboard.patch deleted file mode 100644 index bd5afda..0000000 --- a/add-macbookair41-keyboard.patch +++ /dev/null @@ -1,119 +0,0 @@ -Path: news.gmane.org!not-for-mail -From: Pieter-Augustijn Van Malleghem -Newsgroups: gmane.linux.kernel.input -Subject: [PATCH] Add MacBookAir4,1 keyboard support -Date: Wed, 7 Sep 2011 16:15:52 -0400 -Lines: 72 -Approved: news@gmane.org -Message-ID: <20110907201552.GA1962@Caligula> -NNTP-Posting-Host: lo.gmane.org -Mime-Version: 1.0 -Content-Type: text/plain; charset=us-ascii -X-Trace: dough.gmane.org 1315426570 11003 80.91.229.12 (7 Sep 2011 20:16:10 GMT) -X-Complaints-To: usenet@dough.gmane.org -NNTP-Posting-Date: Wed, 7 Sep 2011 20:16:10 +0000 (UTC) -To: linux-input@vger.kernel.org -Original-X-From: linux-input-owner@vger.kernel.org Wed Sep 07 22:16:06 2011 -Return-path: -Envelope-to: glki-linux-input-2@lo.gmane.org -Original-Received: from vger.kernel.org ([209.132.180.67]) - by lo.gmane.org with esmtp (Exim 4.69) - (envelope-from ) - id 1R1OXV-0007QX-Ll - for glki-linux-input-2@lo.gmane.org; Wed, 07 Sep 2011 22:16:06 +0200 -Original-Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand - id S1751419Ab1IGUQE (ORCPT ); - Wed, 7 Sep 2011 16:16:04 -0400 -Original-Received: from mail-vx0-f174.google.com ([209.85.220.174]:57168 "EHLO - mail-vx0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org - with ESMTP id S1751237Ab1IGUQC (ORCPT - ); Wed, 7 Sep 2011 16:16:02 -0400 -Original-Received: by vxj15 with SMTP id 15so31147vxj.19 - for ; Wed, 07 Sep 2011 13:16:02 -0700 (PDT) -Original-Received: by 10.52.69.210 with SMTP id g18mr64348vdu.133.1315426562281; - Wed, 07 Sep 2011 13:16:02 -0700 (PDT) -Original-Received: from Caligula ([140.247.246.50]) - by mx.google.com with ESMTPS id ch2sm944169vdc.19.2011.09.07.13.16.01 - (version=TLSv1/SSLv3 cipher=OTHER); - Wed, 07 Sep 2011 13:16:01 -0700 (PDT) -Content-Disposition: inline -User-Agent: Mutt/1.5.21 (2010-09-15) -Original-Sender: linux-input-owner@vger.kernel.org -Precedence: bulk -List-ID: -X-Mailing-List: linux-input@vger.kernel.org -Xref: news.gmane.org gmane.linux.kernel.input:21462 -Archived-At: - -This patch adds support for the Apple MacBookAir4,1 released in July -2011. It was inspired by Joshua Dillon's patch for the MacBookAir4,2 -posted on http://www.almostsure.com/mba42/hid-apple-dkms.patch. - -Signed-off-by: Pieter-Augustijn Van Malleghem -diff -uNr linux/drivers/hid/hid-apple.c patched/drivers/hid/hid-apple.c ---- linux/drivers/hid/hid-apple.c 2011-09-06 23:41:58.000000000 -0400 -+++ patched/drivers/hid/hid-apple.c 2011-09-06 23:53:05.000000000 -0400 -@@ -183,6 +183,9 @@ - if (hid->product >= USB_DEVICE_ID_APPLE_WELLSPRING4_ANSI && - hid->product <= USB_DEVICE_ID_APPLE_WELLSPRING4A_JIS) - table = macbookair_fn_keys; -+ else if (hid->product >= USB_DEVICE_ID_APPLE_WELLSPRING6A_ANSI && -+ hid->product <= USB_DEVICE_ID_APPLE_WELLSPRING6A_JIS) -+ table = apple_fn_keys; - else if (hid->product < 0x21d || hid->product >= 0x300) - table = powerbook_fn_keys; - else -@@ -493,6 +499,12 @@ - .driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD }, - { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5_JIS), - .driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS }, -+ { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING6A_ANSI), -+ .driver_data = APPLE_HAS_FN }, -+ { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING6A_ISO), -+ .driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD }, -+ { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING6A_JIS), -+ .driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS }, - { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ANSI), - .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN }, - { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ISO), -diff -uNr linux/drivers/hid/hid-core.c patched/drivers/hid/hid-core.c ---- linux/drivers/hid/hid-core.c 2011-09-06 23:41:58.000000000 -0400 -+++ patched/drivers/hid/hid-core.c 2011-09-06 23:56:22.000000000 -0400 -@@ -1340,6 +1340,9 @@ - { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5_ANSI) }, - { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5_ISO) }, - { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5_JIS) }, -+ { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING6A_ANSI) }, -+ { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING6A_ISO) }, -+ { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING6A_JIS) }, - { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_REVB_ANSI) }, - { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_REVB_ISO) }, - { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_REVB_JIS) }, -@@ -1892,6 +1895,9 @@ - { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5_ANSI) }, - { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5_ISO) }, - { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5_JIS) }, -+ { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING6A_ANSI) }, -+ { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING6A_ISO) }, -+ { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING6A_JIS) }, - { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY) }, - { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY) }, - { } -diff -uNr linux/drivers/hid/hid-ids.h patched/drivers/hid/hid-ids.h ---- linux/drivers/hid/hid-ids.h 2011-09-06 23:41:58.000000000 -0400 -+++ patched/drivers/hid/hid-ids.h 2011-09-06 23:57:39.000000000 -0400 -@@ -109,6 +109,9 @@ - #define USB_DEVICE_ID_APPLE_WELLSPRING5_ANSI 0x0245 - #define USB_DEVICE_ID_APPLE_WELLSPRING5_ISO 0x0246 - #define USB_DEVICE_ID_APPLE_WELLSPRING5_JIS 0x0247 -+#define USB_DEVICE_ID_APPLE_WELLSPRING6A_ANSI 0x0249 -+#define USB_DEVICE_ID_APPLE_WELLSPRING6A_ISO 0x024a -+#define USB_DEVICE_ID_APPLE_WELLSPRING6A_JIS 0x024b - #define USB_DEVICE_ID_APPLE_ALU_REVB_ANSI 0x024f - #define USB_DEVICE_ID_APPLE_ALU_REVB_ISO 0x0250 - #define USB_DEVICE_ID_APPLE_ALU_REVB_JIS 0x0251 --- -To unsubscribe from this list: send the line "unsubscribe linux-input" in -the body of a message to majordomo@vger.kernel.org -More majordomo info at http://vger.kernel.org/majordomo-info.html - diff --git a/be2net-non-member-vlan-pkts-not-received-in-promisco.patch b/be2net-non-member-vlan-pkts-not-received-in-promisco.patch deleted file mode 100644 index 866473e..0000000 --- a/be2net-non-member-vlan-pkts-not-received-in-promisco.patch +++ /dev/null @@ -1,63 +0,0 @@ -From c0e64ef4899df4cedc872871e54e2c069d29e519 Mon Sep 17 00:00:00 2001 -From: Sathya Perla -Date: Tue, 2 Aug 2011 19:57:43 +0000 -Subject: [PATCH] be2net: non-member vlan pkts not received in promiscous mode - -While configuring promiscous mode, explicitly set the -VLAN_PROMISCOUS bit to make this happen. When switching off -promiscous mode, re-program the vids. - -Signed-off-by: Xavier Selvin -Signed-off-by: Sathya Perla -Signed-off-by: David S. Miller ---- - drivers/net/benet/be_cmds.c | 6 ++++-- - drivers/net/benet/be_main.c | 7 +++++++ - 2 files changed, 11 insertions(+), 2 deletions(-) - -diff --git a/drivers/net/benet/be_cmds.c b/drivers/net/benet/be_cmds.c -index 1c25dbd..73fd949 100644 ---- a/drivers/net/benet/be_cmds.c -+++ b/drivers/net/benet/be_cmds.c -@@ -1586,9 +1586,11 @@ int be_cmd_promiscuous_config(struct be_adapter *adapter, bool en) - OPCODE_COMMON_NTWK_RX_FILTER, sizeof(*req)); - - req->if_id = cpu_to_le32(adapter->if_handle); -- req->if_flags_mask = cpu_to_le32(BE_IF_FLAGS_PROMISCUOUS); -+ req->if_flags_mask = cpu_to_le32(BE_IF_FLAGS_PROMISCUOUS -+ | BE_IF_FLAGS_VLAN_PROMISCUOUS); - if (en) -- req->if_flags = cpu_to_le32(BE_IF_FLAGS_PROMISCUOUS); -+ req->if_flags = cpu_to_le32(BE_IF_FLAGS_PROMISCUOUS -+ | BE_IF_FLAGS_VLAN_PROMISCUOUS); - - sge->pa_hi = cpu_to_le32(upper_32_bits(promiscous_cmd.dma)); - sge->pa_lo = cpu_to_le32(promiscous_cmd.dma & 0xFFFFFFFF); -diff --git a/drivers/net/benet/be_main.c b/drivers/net/benet/be_main.c -index 3b2c5e6..32a5b11 100644 ---- a/drivers/net/benet/be_main.c -+++ b/drivers/net/benet/be_main.c -@@ -728,6 +728,10 @@ static int be_vid_config(struct be_adapter *adapter, bool vf, u32 vf_num) - status = be_cmd_vlan_config(adapter, if_handle, vtag, 1, 1, 0); - } - -+ /* No need to further configure vids if in promiscuous mode */ -+ if (adapter->promiscuous) -+ return 0; -+ - if (adapter->vlans_added <= adapter->max_vlans) { - /* Construct VLAN Table to give to HW */ - for (i = 0; i < VLAN_N_VID; i++) { -@@ -787,6 +791,9 @@ static void be_set_multicast_list(struct net_device *netdev) - if (adapter->promiscuous) { - adapter->promiscuous = false; - be_cmd_promiscuous_config(adapter, false); -+ -+ if (adapter->vlans_added) -+ be_vid_config(adapter, false, 0); - } - - /* Enable multicast promisc if num configured exceeds what we support */ --- -1.7.6.4 - diff --git a/benet-remove-bogus-unlikely-on-vlan-check.patch b/benet-remove-bogus-unlikely-on-vlan-check.patch deleted file mode 100644 index 08c0081..0000000 --- a/benet-remove-bogus-unlikely-on-vlan-check.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 82f15998fafe683add83f7a11b2e25f919b3cd2d Mon Sep 17 00:00:00 2001 -From: Jiri Pirko -Date: Tue, 25 Oct 2011 13:47:16 -0400 -Subject: [PATCH] benet: remove bogus "unlikely" on vlan check - -Use of unlikely in this place is wrong. Remove it. - -Signed-off-by: Jiri Pirko -Signed-off-by: David S. Miller -Backported-by: Josh Boyer ---- - drivers/net/benet/be_main.c | 4 ++-- - 1 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/drivers/net/benet/be_main.c b/drivers/net/benet/be_main.c -index c411bb1..6df0c7e 100644 ---- a/drivers/net/benet/be_main.c -+++ b/drivers/net/benet/be_main.c -@@ -1192,7 +1192,7 @@ static void be_rx_compl_process(struct be_adapter *adapter, - skb->rxhash = rxcp->rss_hash; - - -- if (unlikely(rxcp->vlanf)) -+ if (rxcp->vlanf) - __vlan_hwaccel_put_tag(skb, rxcp->vlan_tag); - - netif_receive_skb(skb); -@@ -1249,7 +1249,7 @@ static void be_rx_compl_process_gro(struct be_adapter *adapter, - if (adapter->netdev->features & NETIF_F_RXHASH) - skb->rxhash = rxcp->rss_hash; - -- if (unlikely(rxcp->vlanf)) -+ if (rxcp->vlanf) - __vlan_hwaccel_put_tag(skb, rxcp->vlan_tag); - - napi_gro_frags(&eq_obj->napi); --- -1.7.6.4 - diff --git a/config-arm-generic b/config-arm-generic index 307c66d..a41f954 100644 --- a/config-arm-generic +++ b/config-arm-generic @@ -142,6 +142,7 @@ CONFIG_SPARSE_IRQ=y # CONFIG_ARM_PATCH_PHYS_VIRT is not set +CONFIG_NET_VENDOR_FARADAY=y CONFIG_FTMAC100=m CONFIG_HWSPINLOCK_OMAP=m diff --git a/config-arm-omap-generic b/config-arm-omap-generic index e396169..ebfafa4 100644 --- a/config-arm-omap-generic +++ b/config-arm-omap-generic @@ -133,6 +133,9 @@ CONFIG_ARM_GIC=y # CONFIG_PCCARD is not set CONFIG_SMP=y CONFIG_SMP_ON_UP=y +CONFIG_ARM_CPU_TOPOLOGY=y +CONFIG_SCHED_MC=y +CONFIG_SCHED_SMT=y CONFIG_HAVE_ARM_SCU=y CONFIG_HAVE_ARM_TWD=y CONFIG_NR_CPUS=2 @@ -290,6 +293,9 @@ CONFIG_EEPROM_93XX46=m CONFIG_DM_MULTIPATH=y # CONFIG_TARGET_CORE is not set # CONFIG_MACVTAP is not set +CONFIG_ETHERNET=y +CONFIG_NET_VENDOR_BROADCOM=y +CONFIG_NET_VENDOR_MICROCHIP=y CONFIG_MII=y # CONFIG_MARVELL_PHY is not set # CONFIG_DAVICOM_PHY is not set @@ -322,14 +328,13 @@ CONFIG_SMSC911X=y # CONFIG_DNET is not set # CONFIG_B44 is not set CONFIG_KS8851=m -# CONFIG_NETDEV_1000 is not set -# CONFIG_NETDEV_10000 is not set # CONFIG_ATH9K_HTC is not set # CONFIG_AR9170_USB is not set # CONFIG_B43_SDIO is not set # CONFIG_B43_PHY_N is not set # CONFIG_HOSTAP is not set # CONFIG_IWM is not set +# CONFIG_BRCMDBG is not set CONFIG_LIBERTAS_SPI=m # CONFIG_LIBERTAS_MESH is not set CONFIG_P54_SPI=m @@ -489,6 +494,7 @@ CONFIG_GPIO_TWL4030=y # CONFIG_CHARGER_TWL4030 is not set # CONFIG_CHARGER_GPIO is not set # CONFIG_HWMON_VID is not set +# CONFIG_SENSORS_AD7314 is not set # CONFIG_SENSORS_AD7414 is not set # CONFIG_SENSORS_AD7418 is not set # CONFIG_SENSORS_ADCXX is not set @@ -886,6 +892,7 @@ CONFIG_USB_GADGET=y # CONFIG_USB_GADGET_DEBUG_FILES is not set CONFIG_USB_GADGET_DEBUG_FS=y CONFIG_USB_GADGET_VBUS_DRAW=2 +CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 CONFIG_USB_GADGET_SELECTED=y # CONFIG_USB_GADGET_OMAP is not set # CONFIG_USB_GADGET_R8A66597 is not set @@ -893,6 +900,7 @@ CONFIG_USB_GADGET_SELECTED=y # CONFIG_USB_GADGET_M66592 is not set # CONFIG_USB_GADGET_DUMMY_HCD is not set CONFIG_USB_GADGET_DUALSPEED=y +# CONFIG_USB_RENESAS_USBHS is not set # CONFIG_USB_ZERO is not set # CONFIG_USB_AUDIO is not set CONFIG_USB_ETH=y @@ -900,6 +908,7 @@ CONFIG_USB_ETH_RNDIS=y CONFIG_USB_ETH_EEM=y # CONFIG_USB_G_NCM is not set # CONFIG_USB_GADGETFS is not set +# CONFIG_USB_DWC3 is not set # CONFIG_USB_FUNCTIONFS is not set # CONFIG_USB_FILE_STORAGE is not set # CONFIG_USB_MASS_STORAGE is not set diff --git a/config-arm-tegra b/config-arm-tegra index 910b39f..0642df0 100644 --- a/config-arm-tegra +++ b/config-arm-tegra @@ -43,6 +43,9 @@ CONFIG_ARM_ERRATA_720789=y # CONFIG_ARM_ERRATA_754327 is not set # CONFIG_ARM_ERRATA_764369 is not set CONFIG_SMP_ON_UP=y +CONFIG_ARM_CPU_TOPOLOGY=y +CONFIG_SCHED_MC=y +CONFIG_SCHED_SMT=y CONFIG_LOCAL_TIMERS=y # CONFIG_THUMB2_KERNEL is not set CONFIG_HW_PERF_EVENTS=y diff --git a/config-generic b/config-generic index 9b81856..491933d 100644 --- a/config-generic +++ b/config-generic @@ -1218,45 +1218,48 @@ CONFIG_L2TP_ETH=m CONFIG_RFKILL=m CONFIG_RFKILL_INPUT=y +CONFIG_NFC_NCI=m + # # Ethernet (10 or 100Mbit) # -CONFIG_NETDEV_1000=y -CONFIG_NETDEV_10000=y -CONFIG_NET_ETHERNET=y -CONFIG_PHYLIB=m -CONFIG_BROADCOM_PHY=m -CONFIG_CICADA_PHY=m -CONFIG_DAVICOM_PHY=m -CONFIG_FIXED_PHY=y -CONFIG_MDIO_BITBANG=m -CONFIG_NATIONAL_PHY=m -CONFIG_ICPLUS_PHY=m -CONFIG_BCM63XX_PHY=m -CONFIG_LSI_ET1011C_PHY=m -CONFIG_LXT_PHY=m -CONFIG_MARVELL_PHY=m -CONFIG_QSEMI_PHY=m -CONFIG_REALTEK_PHY=m -CONFIG_SMSC_PHY=m -CONFIG_STE10XP=m -CONFIG_VITESSE_PHY=m -CONFIG_MICREL_PHY=m -CONFIG_MII=m -CONFIG_HAPPYMEAL=m -CONFIG_SUNGEM=m -CONFIG_NET_VENDOR_3COM=y -CONFIG_VORTEX=m -CONFIG_TYPHOON=m -CONFIG_DNET=m -CONFIG_STMMAC_ETH=m -# CONFIG_STMMAC_DA is not set -# CONFIG_STMMAC_DUAL_MAC is not set -# CONFIG_STMMAC_TIMER is not set +CONFIG_NET_VENDOR_ADAPTEC=y +CONFIG_ADAPTEC_STARFIRE=m -# CONFIG_PCH_GBE is not set +CONFIG_NET_VENDOR_ALTEON=y +CONFIG_ACENIC=m +# CONFIG_ACENIC_OMIT_TIGON_I is not set + +CONFIG_NET_VENDOR_AMD=y +# CONFIG_LANCE is not set +CONFIG_PCNET32=m +CONFIG_AMD8111_ETH=m +CONFIG_PCMCIA_NMCLAN=m + +CONFIG_NET_VENDOR_ATHEROS=y +CONFIG_ATL2=m +CONFIG_ATL1=m +CONFIG_ATL1C=m +CONFIG_ATL1E=m + +CONFIG_NET_VENDOR_BROCADE=y +CONFIG_BNA=m +CONFIG_NET_VENDOR_CHELSIO=y +CONFIG_CHELSIO_T1=m +CONFIG_CHELSIO_T1_1G=y +CONFIG_CHELSIO_T3=m +CONFIG_CHELSIO_T4=m +CONFIG_CHELSIO_T4VF=m + +# CONFIG_NET_VENDOR_CIRRUS is not set +# +CONFIG_NET_VENDOR_CISCO=y +CONFIG_ENIC=m + +CONFIG_NET_VENDOR_DEC=y +CONFIG_EWRK3=m # # Tulip family network device support # @@ -1273,109 +1276,186 @@ CONFIG_WINBOND_840=m CONFIG_DM9102=m CONFIG_PCMCIA_XIRCOM=m CONFIG_ULI526X=m -# CONFIG_HP100 is not set -CONFIG_LNE390=m -CONFIG_NE3210=m -CONFIG_ES3210=m -CONFIG_NET_PCI=y -CONFIG_PCNET32=m -CONFIG_AMD8111_ETH=m -CONFIG_ADAPTEC_STARFIRE=m -CONFIG_KSZ884X_PCI=m -CONFIG_B44=m -CONFIG_B44_PCI=y -CONFIG_BNX2=m -CONFIG_CNIC=m -CONFIG_QLA3XXX=m -CONFIG_ATL1=m -CONFIG_ATL1C=m -CONFIG_ATL2=m -CONFIG_ATL1E=m + +CONFIG_NET_VENDOR_DLINK=y +CONFIG_DE600=m +CONFIG_DE620=m +CONFIG_DL2K=m +CONFIG_SUNDANCE=m +# CONFIG_SUNDANCE_MMIO is not set + +CONFIG_NET_VENDOR_EMULEX=y +CONFIG_BE2NET=m + +CONFIG_NET_VENDOR_EXAR=y +CONFIG_S2IO=m +CONFIG_VXGE=m +# CONFIG_VXGE_DEBUG_TRACE_ALL is not set + +# CONFIG_NET_VENDOR_FARADAY is not set +# CONFIG_NET_VENDOR_FUJITSU is not set +# CONFIG_NET_VENDOR_HP is not set +CONFIG_NET_VENDOR_INTEL=y CONFIG_E100=m -CONFIG_FEALNX=m -CONFIG_FORCEDETH=m +CONFIG_E1000=m +CONFIG_E1000E=m +CONFIG_IGB=m +CONFIG_IGB_DCA=y +CONFIG_IGBVF=m +CONFIG_IXGB=m +CONFIG_IXGBEVF=m +CONFIG_IXGBE=m +CONFIG_IXGBE_DCA=y +CONFIG_IXGBE_DCB=y + +# CONFIG_NET_VENDOR_I825XX is not set +CONFIG_NET_VENDOR_MARVELL=y +CONFIG_SKGE=m +# CONFIG_SKGE_DEBUG is not set +CONFIG_SKGE_GENESIS=y +CONFIG_SKY2=m +# CONFIG_SKY2_DEBUG is not set + +CONFIG_NET_VENDOR_MICREL=y +CONFIG_KSZ884X_PCI=m +# CONFIG_KS8842 is not set +# CONFIG_KS8851_MLL is not set + +CONFIG_NET_VENDOR_MYRI=y +CONFIG_MYRI10GE=m +CONFIG_MYRI10GE_DCA=y + +CONFIG_NET_VENDOR_NATSEMI=y CONFIG_NATSEMI=m +CONFIG_NS83820=m + +CONFIG_NET_VENDOR_8390=y +# CONFIG_AC3200 is not set +CONFIG_PCMCIA_AXNET=m CONFIG_NE2K_PCI=m +CONFIG_NE3210=m +CONFIG_PCMCIA_PCNET=m + +CONFIG_NET_VENDOR_NVIDIA=y +CONFIG_FORCEDETH=m + +CONFIG_NET_VENDOR_OKI=y +# CONFIG_PCH_GBE is not set + +CONFIG_NET_PACKET_ENGINE=y +CONFIG_HAMACHI=m +CONFIG_YELLOWFIN=m + +CONFIG_NET_VENDOR_QLOGIC=y +CONFIG_QLA3XXX=m +CONFIG_QLCNIC=m +CONFIG_QLGE=m +CONFIG_NETXEN_NIC=m + +CONFIG_NET_VENDOR_REALTEK=y +CONFIG_ATP=m CONFIG_8139CP=m CONFIG_8139TOO=m # CONFIG_8139TOO_PIO is not set # CONFIG_8139TOO_TUNE_TWISTER is not set CONFIG_8139TOO_8129=y # CONFIG_8139_OLD_RX_RESET is not set +CONFIG_R8169=m +CONFIG_SC92031=m + +CONFIG_NET_VENDOR_RDC=y +CONFIG_R6040=m + +# CONFIG_NET_VENDOR_SEEQ is not set + +CONFIG_NET_VENDOR_SIS=y CONFIG_SIS900=m CONFIG_SIS190=m + +CONFIG_NET_VENDOR_SMSC=y +# CONFIG_SMC9194 is not set +CONFIG_PCMCIA_SMC91C92=m CONFIG_EPIC100=m -CONFIG_SC92031=m CONFIG_SMSC9420=m -CONFIG_SUNDANCE=m -# CONFIG_SUNDANCE_MMIO is not set + +CONFIG_NET_VENDOR_STMICRO=y +CONFIG_STMMAC_ETH=m +# CONFIG_STMMAC_DA is not set +# CONFIG_STMMAC_DUAL_MAC is not set +# CONFIG_STMMAC_TIMER is not set +# CONFIG_STMMAC_DEBUG_FS is not set + +CONFIG_NET_VENDOR_SUN=y +CONFIG_HAPPYMEAL=m +CONFIG_SUNGEM=m +CONFIG_CASSINI=m +CONFIG_NIU=m + +CONFIG_NET_VENDOR_TEHUTI=y +CONFIG_TEHUTI=m + +CONFIG_NET_VENDOR_TI=y CONFIG_TLAN=m + +CONFIG_NET_VENDOR_VIA=y CONFIG_VIA_RHINE=m CONFIG_VIA_RHINE_MMIO=y CONFIG_VIA_VELOCITY=m + +CONFIG_NET_VENDOR_XIRCOM=y +CONFIG_PCMCIA_XIRC2PS=m + +CONFIG_PHYLIB=y +CONFIG_BROADCOM_PHY=m +CONFIG_CICADA_PHY=m +CONFIG_DAVICOM_PHY=m +CONFIG_FIXED_PHY=y +CONFIG_MDIO_BITBANG=m +CONFIG_NATIONAL_PHY=m +CONFIG_ICPLUS_PHY=m +CONFIG_BCM63XX_PHY=m +CONFIG_LSI_ET1011C_PHY=m +CONFIG_LXT_PHY=m +CONFIG_MARVELL_PHY=m +CONFIG_QSEMI_PHY=m +CONFIG_REALTEK_PHY=m +CONFIG_SMSC_PHY=m +CONFIG_STE10XP=m +CONFIG_VITESSE_PHY=m +CONFIG_MICREL_PHY=m + +CONFIG_MII=m +CONFIG_NET_VENDOR_3COM=y +CONFIG_VORTEX=m +CONFIG_TYPHOON=m +CONFIG_DNET=m + + +CONFIG_LNE390=m +CONFIG_ES3210=m +CONFIG_NET_PCI=y +CONFIG_B44=m +CONFIG_B44_PCI=y +CONFIG_BNX2=m +CONFIG_CNIC=m +CONFIG_FEALNX=m CONFIG_NET_POCKET=y -CONFIG_ATP=m -CONFIG_DE600=m -CONFIG_DE620=m -CONFIG_CASSINI=m CONFIG_ETHOC=m -# CONFIG_KS8842 is not set -# CONFIG_KS8851_MLL is not set # # Ethernet (1000 Mbit) # -CONFIG_ACENIC=m -# CONFIG_ACENIC_OMIT_TIGON_I is not set -CONFIG_DL2K=m -CONFIG_E1000=m -CONFIG_E1000E=m -CONFIG_IGB=m -CONFIG_IGB_DCA=y -CONFIG_IGBVF=m -CONFIG_NS83820=m -CONFIG_HAMACHI=m -CONFIG_YELLOWFIN=m -CONFIG_R8169=m -CONFIG_SKGE=m -# CONFIG_SKGE_DEBUG is not set -CONFIG_SKGE_GENESIS=y CONFIG_TIGON3=m -CONFIG_SKY2=m -# CONFIG_SKY2_DEBUG is not set CONFIG_JME=m # # Ethernet (10000 Mbit) # -CONFIG_CHELSIO_T1=m -CONFIG_CHELSIO_T1_1G=y -CONFIG_CHELSIO_T3=m -CONFIG_CHELSIO_T4=m -CONFIG_CHELSIO_T4VF=m CONFIG_IP1000=m -CONFIG_IXGB=m -CONFIG_IXGBEVF=m -CONFIG_IXGBE=m -CONFIG_IXGBE_DCA=y -CONFIG_IXGBE_DCB=y -CONFIG_MYRI10GE=m -CONFIG_MYRI10GE_DCA=y -CONFIG_NETXEN_NIC=m -CONFIG_NIU=m -CONFIG_S2IO=m -CONFIG_VXGE=m -# CONFIG_VXGE_DEBUG_TRACE_ALL is not set -CONFIG_TEHUTI=m -CONFIG_ENIC=m CONFIG_MLX4_EN=m # CONFIG_MLX4_DEBUG is not set -CONFIG_QLCNIC=m -CONFIG_QLGE=m -CONFIG_BNA=m CONFIG_SFC=m CONFIG_SFC_MTD=y -CONFIG_BE2NET=m CONFIG_FDDI=y # CONFIG_DEFXX is not set @@ -1444,6 +1524,8 @@ CONFIG_ATH_COMMON=m CONFIG_ATH5K=m CONFIG_ATH5K_DEBUG=y # CONFIG_ATH5K_TRACER is not set +CONFIG_ATH6KL=m +CONFIG_ATH6KL_DEBUG=y CONFIG_ATH9K=m CONFIG_ATH9K_PCI=y CONFIG_ATH9K_AHB=y @@ -1454,6 +1536,7 @@ CONFIG_ATH9K_HTC=m CONFIG_ATH9K_RATE_CONTROL=y CONFIG_CARL9170=m CONFIG_CARL9170_LEDS=y +# CONFIG_CARL9170_HWRNG is not set CONFIG_AT76C50X_USB=m CONFIG_AIRO=m CONFIG_AIRO_CS=m @@ -1465,6 +1548,7 @@ CONFIG_B43_BCMA=y CONFIG_B43_DEBUG=y CONFIG_B43_PHY_LP=y CONFIG_B43_PHY_N=y +CONFIG_B43_PHY_HT=y # CONFIG_B43_FORCE_PIO is not set CONFIG_B43LEGACY=m CONFIG_B43LEGACY_DEBUG=y @@ -1572,6 +1656,7 @@ CONFIG_RTL8192DE=m CONFIG_MWIFIEX=m CONFIG_MWIFIEX_SDIO=m +CONFIG_MWIFIEX_PCIE=m # # Token Ring devices @@ -1601,11 +1686,6 @@ CONFIG_NET_PCMCIA=y CONFIG_PCMCIA_3C589=m CONFIG_PCMCIA_3C574=m CONFIG_PCMCIA_FMVJ18X=m -CONFIG_PCMCIA_PCNET=m -CONFIG_PCMCIA_NMCLAN=m -CONFIG_PCMCIA_SMC91C92=m -CONFIG_PCMCIA_XIRC2PS=m -CONFIG_PCMCIA_AXNET=m # # Amateur Radio support @@ -1616,13 +1696,16 @@ CONFIG_AX25_DAMA_SLAVE=y CONFIG_CAN=m CONFIG_CAN_RAW=m CONFIG_CAN_BCM=m +CONFIG_CAN_GW=m CONFIG_CAN_VCAN=m CONFIG_CAN_DEV=m CONFIG_CAN_CALC_BITTIMING=y CONFIG_CAN_SJA1000=m CONFIG_CAN_SJA1000_ISA=m CONFIG_CAN_SJA1000_PLATFORM=m +CONFIG_CAN_EMS_PCMCIA=m CONFIG_CAN_EMS_PCI=m +CONFIG_CAN_PEAK_PCI=m CONFIG_CAN_EMS_USB=m CONFIG_CAN_ESD_USB2=m CONFIG_CAN_KVASER_PCI=m @@ -2060,6 +2143,7 @@ CONFIG_SERIAL_8250_MANY_PORTS=y CONFIG_SERIAL_8250_SHARE_IRQ=y # CONFIG_SERIAL_8250_DETECT_IRQ is not set CONFIG_SERIAL_8250_RSA=y +# CONFIG_SERIAL_8250_DW is not set CONFIG_CYCLADES=m # CONFIG_CYZ_INTR is not set # CONFIG_MOXA_INTELLIO is not set @@ -2269,12 +2353,14 @@ CONFIG_SENSORS_MAX6642=m CONFIG_SENSORS_ADM1275=m CONFIG_SENSORS_UCD9000=m CONFIG_SENSORS_UCD9200=m +CONFIG_SENSORS_ZL6100=m CONFIG_SENSORS_EMC6W201=m CONFIG_PMBUS=m CONFIG_SENSORS_PMBUS=m CONFIG_SENSORS_MAX16064=m CONFIG_SENSORS_LM25066=m +CONFIG_SENSORS_LTC2978=m CONFIG_SENSORS_MAX34440=m CONFIG_SENSORS_MAX8688=m CONFIG_SENSORS_MAX1668=m @@ -3101,6 +3187,7 @@ CONFIG_USB_STORAGE_ONETOUCH=m CONFIG_USB_STORAGE_ALAUDA=m CONFIG_USB_STORAGE_KARMA=m CONFIG_USB_STORAGE_REALTEK=m +CONFIG_REALTEK_AUTOPM=y CONFIG_USB_STORAGE_ENE_UB6250=m # CONFIG_USB_LIBUSUAL is not set CONFIG_USB_UAS=m @@ -3118,6 +3205,7 @@ CONFIG_HID=m CONFIG_HIDRAW=y CONFIG_HID_PID=y CONFIG_LOGITECH_FF=y +CONFIG_HID_LOGITECH_DJ=m CONFIG_LOGIWII_FF=y CONFIG_LOGIRUMBLEPAD2_FF=y CONFIG_PANTHERLORD_FF=y @@ -3131,10 +3219,12 @@ CONFIG_DRAGONRISE_FF=y CONFIG_GREENASIA_FF=y CONFIG_SMARTJOYPLUS_FF=y CONFIG_LOGIG940_FF=y +CONFIG_LOGIWHEELS_FF=y CONFIG_HID_MAGICMOUSE=y CONFIG_HID_MULTITOUCH=m CONFIG_HID_NTRIG=y CONFIG_HID_QUANTA=y +CONFIG_HID_PRIMAX=m CONFIG_HID_PRODIKEYS=m CONFIG_HID_DRAGONRISE=m CONFIG_HID_GYRATION=m @@ -3154,7 +3244,6 @@ CONFIG_HID_TOPSEED=m CONFIG_HID_THRUSTMASTER=m CONFIG_HID_ZEROPLUS=m CONFIG_HID_ZYDACRON=m -CONFIG_HID_ACRUX_FF=m CONFIG_HID_EMS_FF=m CONFIG_HID_ELECOM=m CONFIG_HID_UCLOGIC=m @@ -3162,6 +3251,7 @@ CONFIG_HID_WALTOP=m CONFIG_HID_ROCCAT_PYRA=m CONFIG_HID_ROCCAT_KONEPLUS=m CONFIG_HID_ACRUX=m +CONFIG_HID_ACRUX_FF=y CONFIG_HID_KEYTOUCH=m CONFIG_HID_LCPOWER=m CONFIG_HID_ROCCAT_ARVO=m @@ -3394,6 +3484,7 @@ CONFIG_USB_FTDI_ELAN=m CONFIG_USB_FILE_STORAGE=m # CONFIG_USB_FILE_STORAGE_TEST is not set # CONFIG_USB_GADGET is not set +# CONFIG_USB_DWC3 is not set # CONFIG_USB_GADGETFS is not set # CONFIG_USB_ISP116X_HCD is not set # CONFIG_USB_ISP1760_HCD is not set @@ -3918,6 +4009,7 @@ CONFIG_LCD_PLATFORM=m CONFIG_SCHEDSTATS=y CONFIG_SCHED_DEBUG=y CONFIG_FAIR_GROUP_SCHED=y +CONFIG_CFS_BANDWIDTH=y CONFIG_SCHED_OMIT_FRAME_POINTER=y CONFIG_RT_GROUP_SCHED=y CONFIG_SCHED_AUTOGROUP=y @@ -4001,35 +4093,19 @@ CONFIG_SCSI_ARCMSR_AER=y # CONFIG_EL1 is not set # CONFIG_EL2 is not set -# CONFIG_ELPLUS is not set -# CONFIG_EL16 is not set CONFIG_EL3=m # CONFIG_3C515 is not set -# CONFIG_LANCE is not set CONFIG_NET_VENDOR_SMC=y # CONFIG_WD80x3 is not set CONFIG_ULTRA=m -# CONFIG_SMC9194 is not set # CONFIG_NET_VENDOR_RACAL is not set -# CONFIG_NI52 is not set # CONFIG_NI65 is not set -# CONFIG_AT1700 is not set # CONFIG_DEPCA is not set CONFIG_NET_ISA=y CONFIG_NE2000=m # CONFIG_E2100 is not set -CONFIG_EWRK3=m -# CONFIG_EEXPRESS is not set -# CONFIG_EEXPRESS_PRO is not set # CONFIG_HPLAN_PLUS is not set # CONFIG_HPLAN is not set -# CONFIG_LP486E is not set -# CONFIG_ETH16I is not set -# CONFIG_ZNET is not set -# CONFIG_SEEQ8005 is not set -# CONFIG_AC3200 is not set -# CONFIG_APRICOT is not set -# CONFIG_CS89x0 is not set # CONFIG_IBMTR is not set # CONFIG_SKISA is not set # CONFIG_PROTEON is not set @@ -4250,7 +4326,6 @@ CONFIG_LIRC_TTUSBIR=m # CONFIG_DEVKMEM is not set CONFIG_PM_TRACE_RTC=y -CONFIG_R6040=m CONFIG_BNX2X=m CONFIG_SCSI_BNX2X_FCOE=m @@ -4298,6 +4373,7 @@ CONFIG_OPTIMIZE_INLINING=y # CONFIG_HP_ILO is not set # CONFIG_GPIOLIB is not set +# CONFIG_PINCTRL is not set CONFIG_NETFILTER_TPROXY=m @@ -4400,6 +4476,8 @@ CONFIG_USB_ATMEL=m # CONFIG_BRCMFMAC is not set # CONFIG_INTEL_MEI is not set # CONFIG_ZCACHE is not set +# CONFIG_RTS5139 is not set +# CONFIG_NVEC_LEDS is not set # # Android @@ -4426,6 +4504,8 @@ CONFIG_IMA_MEASURE_PCR_IDX=10 CONFIG_IMA_AUDIT=y CONFIG_IMA_LSM_RULES=y +# CONFIG_EVM is not set + CONFIG_LSM_MMAP_MIN_ADDR=65536 # CONFIG_PAGE_POISONING is not set @@ -4448,6 +4528,7 @@ CONFIG_FANOTIFY=y CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y CONFIG_IEEE802154=m +CONFIG_IEEE802154_6LOWPAN=m CONFIG_IEEE802154_DRIVERS=m CONFIG_IEEE802154_FAKEHARD=m @@ -4552,6 +4633,7 @@ CONFIG_EVENT_POWER_TRACING_DEPRECATED=y CONFIG_PN544_NFC=m CONFIG_NFC_PN533=m +CONFIG_NFC_WILINK=m CONFIG_TARGET_CORE=m CONFIG_ISCSI_TARGET=m diff --git a/config-ia64-generic b/config-ia64-generic index 1fa386d..f1fa705 100644 --- a/config-ia64-generic +++ b/config-ia64-generic @@ -13,7 +13,7 @@ CONFIG_EFI=y # CONFIG_ITANIUM is not set CONFIG_MCKINLEY=y CONFIG_IA64_GENERIC=y -CONFIG_DMAR=y +CONFIG_INTEL_IOMMU=y # CONFIG_IA64_DIG is not set # CONFIG_IA64_HP_ZX1 is not set # CONFIG_IA64_SGI_SN2 is not set @@ -195,7 +195,7 @@ CONFIG_PARAVIRT_GUEST=y CONFIG_PARAVIRT=y CONFIG_PARAVIRT_TIME_ACCOUNTING=y -CONFIG_DMAR_DEFAULT_ON=y +CONFIG_INTEL_IOMMU_DEFAULT_ON=y CONFIG_RCU_FANOUT=64 diff --git a/config-powerpc-generic b/config-powerpc-generic index ee9ab24..05f85f8 100644 --- a/config-powerpc-generic +++ b/config-powerpc-generic @@ -225,6 +225,7 @@ CONFIG_EXTRA_TARGETS="" # CONFIG_SERIAL_QE is not set # CONFIG_I2C_CPM is not set +CONFIG_NET_VENDOR_IBM=y CONFIG_SERIO_XILINX_XPS_PS2=m @@ -355,3 +356,9 @@ CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API=m # CONFIG_GPIO_GENERIC_PLATFORM is not set # CONFIG_GPIO_MCP23S08 is not set +# CONFIG_CAN_FLEXCAN is not set +# CONFIG_NET_VENDOR_XILINX is not set +# CONFIG_PPC_EPAPR_HV_BYTECHAN is not set +# CONFIG_IBM_EMAC is not set +# CONFIG_NET_VENDOR_PASEMI is not set +# CONFIG_NET_VENDOR_TOSHIBA is not set diff --git a/config-powerpc32-generic b/config-powerpc32-generic index 31c399e..6cf06ac 100644 --- a/config-powerpc32-generic +++ b/config-powerpc32-generic @@ -41,6 +41,7 @@ CONFIG_ADB_PMU_LED=y CONFIG_ADB_PMU_LED_IDE=y CONFIG_PMAC_MEDIABAY=y +CONFIG_NET_VENDOR_APPLE=y CONFIG_BMAC=m CONFIG_MACE=m # CONFIG_MACE_AAUI_PORT is not set @@ -86,6 +87,7 @@ CONFIG_8xxx_WDT=m CONFIG_GEF_WDT=m CONFIG_PPC_MPC5200_BUGFIX=y +CONFIG_NET_VENDOR_FREESCALE=y CONFIG_FEC_MPC52xx=m #CHECK: This may later become a tristate. CONFIG_FEC_MPC52xx_MDIO=y @@ -185,3 +187,4 @@ CONFIG_KVM_BOOK3S_32=m # CONFIG_SCSI_QLA_ISCSI is not set CONFIG_BATTERY_PMU=m + diff --git a/config-s390x b/config-s390x index 5251b5b..f039421 100644 --- a/config-s390x +++ b/config-s390x @@ -237,3 +237,5 @@ CONFIG_STRICT_DEVMEM=y # CONFIG_WARN_DYNAMIC_STACK is not set CONFIG_CRYPTO_GHASH_S390=m +CONFIG_NET_CORE=y +CONFIG_ETHERNET=y diff --git a/config-x86-generic b/config-x86-generic index 2e4cc0a..8885773 100644 --- a/config-x86-generic +++ b/config-x86-generic @@ -36,10 +36,10 @@ CONFIG_FB_EFI=y # FIXME: 32bit only? # CONFIG_FB_N411 is not set -CONFIG_DMAR=y +CONFIG_INTEL_IOMMU=y CONFIG_DMAR_BROKEN_GFX_WA=y -CONFIG_DMAR_FLOPPY_WA=y -CONFIG_DMAR_DEFAULT_ON=y +CONFIG_INTEL_IOMMU_FLOPPY_WA=y +CONFIG_INTEL_IOMMU_DEFAULT_ON=y CONFIG_SCSI_ADVANSYS=m CONFIG_SECCOMP=y diff --git a/config-x86_64-generic b/config-x86_64-generic index 6471029..49448bd 100644 --- a/config-x86_64-generic +++ b/config-x86_64-generic @@ -95,7 +95,7 @@ CONFIG_DIRECT_GBPAGES=y CONFIG_X86_MPPARSE=y CONFIG_I7300_IDLE=m -CONFIG_INTR_REMAP=y +CONFIG_IRQ_REMAP=y CONFIG_X86_X2APIC=y CONFIG_SPARSE_IRQ=y diff --git a/epoll-fix-spurious-lockdep-warnings.patch b/epoll-fix-spurious-lockdep-warnings.patch index c163a86..7ca7703 100644 --- a/epoll-fix-spurious-lockdep-warnings.patch +++ b/epoll-fix-spurious-lockdep-warnings.patch @@ -1,3 +1,6 @@ +From: Nelson Elhage +Subject: epoll: fix suprious lockdep warnings + epoll can acquire multiple ep->mutex on multiple "struct eventpoll"s at once in the case where one epoll fd is monitoring another epoll fd. This is perfectly OK, since we're careful about the lock ordering, diff --git a/epoll-limit-paths.patch b/epoll-limit-paths.patch index 440db27..4ed306a 100644 --- a/epoll-limit-paths.patch +++ b/epoll-limit-paths.patch @@ -1,4 +1,4 @@ -From 6a4ca79652219cf22da800d990e5b46feaea1ad9 Mon Sep 17 00:00:00 2001 +From 0a6cc45426fe3baaf231efd7efe4300fd879efc8 Mon Sep 17 00:00:00 2001 From: Jason Baron Date: Mon, 24 Oct 2011 14:59:02 +1100 Subject: [PATCH] epoll: limit paths @@ -91,7 +91,7 @@ Signed-off-by: Andrew Morton 3 files changed, 203 insertions(+), 25 deletions(-) diff --git a/fs/eventpoll.c b/fs/eventpoll.c -index 4a53743..414ac74 100644 +index b84fad9..414ac74 100644 --- a/fs/eventpoll.c +++ b/fs/eventpoll.c @@ -197,6 +197,12 @@ struct eventpoll { @@ -137,7 +137,7 @@ index 4a53743..414ac74 100644 .llseek = noop_llseek, }; --/* Fast test to see if the file is an evenpoll file */ +-/* Fast test to see if the file is an eventpoll file */ -static inline int is_file_epoll(struct file *f) -{ - return f->f_op == &eventpoll_fops; @@ -449,7 +449,7 @@ index f362733..657ab55 100644 diff --git a/include/linux/fs.h b/include/linux/fs.h -index 277f497..93778e0 100644 +index ba98668..d393a68 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -985,6 +985,7 @@ struct file { diff --git a/iwlagn-fix-ht_params-NULL-pointer-dereference.patch b/iwlagn-fix-ht_params-NULL-pointer-dereference.patch deleted file mode 100644 index 4dcf490..0000000 --- a/iwlagn-fix-ht_params-NULL-pointer-dereference.patch +++ /dev/null @@ -1,43 +0,0 @@ -This fix regression introduced by commit: - -commit 15b3f3b006b42a678523cad989bfd60b76bf4403 -Author: Wey-Yi Guy -Date: Fri Jun 3 07:54:13 2011 -0700 - - iwlagn: set smps mode after assoc for 1000 device - -Also remove unneeded brackets on the way. - -Address: -https://bugzilla.redhat.com/show_bug.cgi?id=744155 - -If fix will not get 3.1 release, it should be applied in 3.1 stable. - -Cc: stable@kernel.org # 3.1+ -Signed-off-by: Stanislaw Gruszka ---- - drivers/net/wireless/iwlwifi/iwl-agn-rxon.c | 4 ++-- - 1 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c b/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c -index ca632f9..5004342 100644 ---- a/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c -+++ b/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c -@@ -296,8 +296,8 @@ static int iwlagn_rxon_connect(struct iwl_priv *priv, - return ret; - } - -- if ((ctx->vif && ctx->vif->type == NL80211_IFTYPE_STATION) && -- priv->cfg->ht_params->smps_mode) -+ if (ctx->vif && ctx->vif->type == NL80211_IFTYPE_STATION && -+ priv->cfg->ht_params && priv->cfg->ht_params->smps_mode) - ieee80211_request_smps(ctx->vif, - priv->cfg->ht_params->smps_mode); - --- -1.7.1 - --- -To unsubscribe from this list: send the line "unsubscribe linux-wireless" in -the body of a message to majordomo@vger.kernel.org -More majordomo info at http://vger.kernel.org/majordomo-info.html \ No newline at end of file diff --git a/kernel.spec b/kernel.spec index eba49da..178c611 100644 --- a/kernel.spec +++ b/kernel.spec @@ -6,7 +6,7 @@ Summary: The Linux kernel # For a stable, released kernel, released_kernel should be 1. For rawhide # and/or a kernel built from an rc or git snapshot, released_kernel should # be 0. -%global released_kernel 1 +%global released_kernel 0 # Save original buildid for later if it's defined %if 0%{?buildid:1} @@ -51,7 +51,7 @@ Summary: The Linux kernel # For non-released -rc kernels, this will be prepended with "0.", so # for example a 3 here will become 0.3 # -%global baserelease 5 +%global baserelease 0 %global fedora_build %{baserelease} # base_sublevel is the kernel version we're starting with and patching @@ -82,7 +82,7 @@ Summary: The Linux kernel # The next upstream release sublevel (base_sublevel+1) %define upstream_sublevel %(echo $((%{base_sublevel} + 1))) # The rc snapshot level -%define rcrev 10 +%define rcrev 0 # The git snapshot level %define gitrev 1 # Set rpm version accordingly @@ -688,23 +688,17 @@ Patch2903: media-DiBcom-protect-the-I2C-bufer-access.patch Patch2904: media-dib0700-protect-the-dib0700-buffer-access.patch Patch2905: media-dib0700-correct-error-message.patch -Patch3000: rcutree-avoid-false-quiescent-states.patch - # fs fixes # NFSv4 # patches headed upstream -Patch12010: add-appleir-usb-driver.patch - Patch12016: disable-i8042-check-on-apple-mac.patch Patch12021: udlfb-bind-framebuffer-to-interface.patch Patch12022: x86-efi-Calling-__pa-with-an-ioremap-address-is-invalid.patch -Patch12023: ums-realtek-driver-uses-stack-memory-for-DMA.patch Patch12024: epoll-fix-spurious-lockdep-warnings.patch -Patch12025: rcu-avoid-just-onlined-cpu-resched.patch Patch12026: block-stray-block-put-after-teardown.patch Patch12027: usb-add-quirk-for-logitech-webcams.patch Patch12029: crypto-register-cryptd-first.patch @@ -715,13 +709,10 @@ Patch12303: dmar-disable-when-ricoh-multifunction.patch Patch13002: revert-efi-rtclock.patch Patch13003: efi-dont-map-boot-services-on-32bit.patch -Patch13007: add-macbookair41-keyboard.patch - Patch13009: hvcs_pi_buf_alloc.patch Patch13013: powerpc-Fix-deadlock-in-icswx-code.patch - -Patch13014: iwlagn-fix-ht_params-NULL-pointer-dereference.patch +Patch13014: select-regmap-from-wm8400.patch Patch20000: utrace.patch @@ -736,10 +727,6 @@ Patch21002: mmc-Always-check-for-lower-base-frequency-quirk-for-.patch Patch21020: 0001-mm-vmscan-Limit-direct-reclaim-for-higher-order-allo.patch Patch21021: 0002-mm-Abort-reclaim-compaction-if-compaction-can-procee.patch -#rhbz 748691 -Patch21030: be2net-non-member-vlan-pkts-not-received-in-promisco.patch -Patch21031: benet-remove-bogus-unlikely-on-vlan-check.patch - #rhbz 749166 Patch21050: xfs-Fix-possible-memory-corruption-in-xfs_readlink.patch @@ -1309,17 +1296,11 @@ ApplyOptionalPatch linux-2.6-v4l-dvb-update.patch ApplyOptionalPatch linux-2.6-v4l-dvb-experimental.patch # Patches headed upstream -ApplyPatch rcutree-avoid-false-quiescent-states.patch - ApplyPatch disable-i8042-check-on-apple-mac.patch -ApplyPatch add-appleir-usb-driver.patch - ApplyPatch udlfb-bind-framebuffer-to-interface.patch -ApplyPatch ums-realtek-driver-uses-stack-memory-for-DMA.patch ApplyPatch epoll-fix-spurious-lockdep-warnings.patch ApplyPatch epoll-limit-paths.patch -ApplyPatch rcu-avoid-just-onlined-cpu-resched.patch ApplyPatch block-stray-block-put-after-teardown.patch ApplyPatch usb-add-quirk-for-logitech-webcams.patch @@ -1333,14 +1314,11 @@ ApplyPatch dmar-disable-when-ricoh-multifunction.patch ApplyPatch revert-efi-rtclock.patch ApplyPatch efi-dont-map-boot-services-on-32bit.patch -ApplyPatch add-macbookair41-keyboard.patch ApplyPatch hvcs_pi_buf_alloc.patch ApplyPatch powerpc-Fix-deadlock-in-icswx-code.patch -ApplyPatch iwlagn-fix-ht_params-NULL-pointer-dereference.patch - #rhbz #722509 ApplyPatch mmc-Always-check-for-lower-base-frequency-quirk-for-.patch @@ -1355,9 +1333,7 @@ ApplyPatch utrace.patch ApplyPatch 0001-mm-vmscan-Limit-direct-reclaim-for-higher-order-allo.patch ApplyPatch 0002-mm-Abort-reclaim-compaction-if-compaction-can-procee.patch -#rhbz 748691 -ApplyPatch be2net-non-member-vlan-pkts-not-received-in-promisco.patch -ApplyPatch benet-remove-bogus-unlikely-on-vlan-check.patch +ApplyPatch select-regmap-from-wm8400.patch # END OF PATCH APPLICATIONS @@ -2041,6 +2017,9 @@ fi # ||----w | # || || %changelog +* Wed Oct 26 2011 Josh Boyer +- Linux 3.1-git1 + * Wed Oct 26 2011 Fedora Release Engineering - 3.1.0-5 - Rebuilt for glibc bug#747377 diff --git a/linux-2.6-debug-taint-vm.patch b/linux-2.6-debug-taint-vm.patch index 672509d..ab70317 100644 --- a/linux-2.6-debug-taint-vm.patch +++ b/linux-2.6-debug-taint-vm.patch @@ -1,5 +1,17 @@ +From 77c78bac236c7b07d390be65f357c85a79cce890 Mon Sep 17 00:00:00 2001 +From: Dave Jones +Date: Wed, 26 Oct 2011 18:44:26 -0400 +Subject: [PATCH] Add more debugging information to the VM subsystem + +Dump modules in bad_page, and print taint information in other areas +--- + mm/page_alloc.c | 1 + + mm/slab.c | 8 ++++---- + mm/slub.c | 2 +- + 3 files changed, 6 insertions(+), 5 deletions(-) + diff --git a/mm/page_alloc.c b/mm/page_alloc.c -index 4e8985a..70d0853 100644 +index 6e8ecb6..83a0205 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -318,6 +318,7 @@ static void bad_page(struct page *page) @@ -11,10 +23,10 @@ index 4e8985a..70d0853 100644 out: /* Leave bad fields for debug, except PageBuddy could make trouble */ diff --git a/mm/slab.c b/mm/slab.c -index d96e223..6f8905b 100644 +index 708efe8..114a66d 100644 --- a/mm/slab.c +++ b/mm/slab.c -@@ -1886,8 +1886,8 @@ static void check_poison_obj(struct kmem_cache *cachep, void *objp) +@@ -1927,8 +1927,8 @@ static void check_poison_obj(struct kmem_cache *cachep, void *objp) /* Print header */ if (lines == 0) { printk(KERN_ERR @@ -25,22 +37,22 @@ index d96e223..6f8905b 100644 print_objinfo(cachep, objp, 0); } /* Hexdump the affected line */ -@@ -2985,8 +2985,8 @@ static void check_slabp(struct kmem_cache *cachep, struct slab *slabp) +@@ -3037,8 +3037,8 @@ static void check_slabp(struct kmem_cache *cachep, struct slab *slabp) if (entries != cachep->num - slabp->inuse) { bad: printk(KERN_ERR "slab: Internal list corruption detected in " - "cache '%s'(%d), slabp %p(%d). Hexdump:\n", - cachep->name, cachep->num, slabp, slabp->inuse); -+ "cache '%s'(%d), slabp %p(%d). Tainted(%s). Hexdump:\n", ++ "cache '%s'(%d), slabp %p(%d). Tainted(%s) Hexdump:\n", + cachep->name, cachep->num, slabp, slabp->inuse, print_tainted()); - for (i = 0; - i < sizeof(*slabp) + cachep->num * sizeof(kmem_bufctl_t); - i++) { + print_hex_dump(KERN_ERR, "", DUMP_PREFIX_OFFSET, 16, 1, slabp, + sizeof(*slabp) + cachep->num * sizeof(kmem_bufctl_t), + 1); diff --git a/mm/slub.c b/mm/slub.c -index 35f351f..e7ccb39 100644 +index 95215aa..bbec29e 100644 --- a/mm/slub.c +++ b/mm/slub.c -@@ -472,7 +472,7 @@ static void slab_bug(struct kmem_cache *s, char *fmt, ...) +@@ -570,7 +570,7 @@ static void slab_bug(struct kmem_cache *s, char *fmt, ...) va_end(args); printk(KERN_ERR "========================================" "=====================================\n"); @@ -49,3 +61,6 @@ index 35f351f..e7ccb39 100644 printk(KERN_ERR "----------------------------------------" "-------------------------------------\n\n"); } +-- +1.7.6.4 + diff --git a/linux-2.6-e1000-ich9-montevina.patch b/linux-2.6-e1000-ich9-montevina.patch index d45fd56..ec38a39 100644 --- a/linux-2.6-e1000-ich9-montevina.patch +++ b/linux-2.6-e1000-ich9-montevina.patch @@ -1,11 +1,22 @@ +From 802e6d8c8477a553a677b23a247d6d2638e01958 Mon Sep 17 00:00:00 2001 +From: Dave Jones +Date: Wed, 26 Oct 2011 13:31:47 -0400 +Subject: [PATCH] e1000e: ich9 montevina + This only showed up in one SDV (Montevina). The PCIE slots don't seem to like network cards, so this is the only hope to get networking working. It's never going upstream, but it's low impact enough to carry just to keep those SDVs working. +--- + drivers/net/ethernet/intel/e1000e/ich8lan.c | 6 ++++++ + drivers/net/ethernet/intel/e1000e/netdev.c | 1 + + 2 files changed, 7 insertions(+), 0 deletions(-) ---- linux-2.6.35.noarch/drivers/net/e1000e/ich8lan.c~ 2010-09-29 17:53:13.000000000 -0400 -+++ linux-2.6.35.noarch/drivers/net/e1000e/ich8lan.c 2010-09-29 17:54:00.000000000 -0400 -@@ -424,6 +424,12 @@ static s32 e1000_init_phy_params_ich8lan +diff --git a/drivers/net/ethernet/intel/e1000e/ich8lan.c b/drivers/net/ethernet/intel/e1000e/ich8lan.c +index 6a17c62..0e40975 100644 +--- a/drivers/net/ethernet/intel/e1000e/ich8lan.c ++++ b/drivers/net/ethernet/intel/e1000e/ich8lan.c +@@ -452,6 +452,12 @@ static s32 e1000_init_phy_params_ich8lan(struct e1000_hw *hw) /* Verify phy id */ switch (phy->id) { @@ -18,9 +29,11 @@ enough to carry just to keep those SDVs working. case IGP03E1000_E_PHY_ID: phy->type = e1000_phy_igp_3; phy->autoneg_mask = AUTONEG_ADVERTISE_SPEED_DEFAULT; ---- linux-2.6.35.noarch/drivers/net/e1000e/netdev.c~ 2010-09-29 17:54:07.000000000 -0400 -+++ linux-2.6.35.noarch/drivers/net/e1000e/netdev.c 2010-09-29 17:54:29.000000000 -0400 -@@ -5994,6 +5994,7 @@ static DEFINE_PCI_DEVICE_TABLE(e1000_pci +diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c +index a855db1..edac30b 100644 +--- a/drivers/net/ethernet/intel/e1000e/netdev.c ++++ b/drivers/net/ethernet/intel/e1000e/netdev.c +@@ -6359,6 +6359,7 @@ static DEFINE_PCI_DEVICE_TABLE(e1000_pci_tbl) = { { PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_IGP_M), board_ich9lan }, { PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_IGP_M_AMT), board_ich9lan }, { PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH9_IGP_M_V), board_ich9lan }, @@ -28,3 +41,6 @@ enough to carry just to keep those SDVs working. { PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH10_R_BM_LM), board_ich9lan }, { PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH10_R_BM_LF), board_ich9lan }, +-- +1.7.6.4 + diff --git a/linux-2.6-intel-iommu-igfx.patch b/linux-2.6-intel-iommu-igfx.patch index b2f8f19..d54ae3c 100644 --- a/linux-2.6-intel-iommu-igfx.patch +++ b/linux-2.6-intel-iommu-igfx.patch @@ -1,6 +1,7 @@ -Subject: [PATCH] [intel_iommu] Default to igfx_off +From e13491e4c394907ffdd834aeccca279213818079 Mon Sep 17 00:00:00 2001 From: drago01 -To: fedora-kernel-list +Date: Wed, 26 Oct 2011 13:37:27 -0400 +Subject: [PATCH] Default to igfx_off This option seems to causes way to many issues, it is being investigated by Intel's chipset team for months now and @@ -16,14 +17,14 @@ Signed-off-by: Adel Gadllah Reviewed-by: Adam Jackson --- Documentation/kernel-parameters.txt | 11 +++++------ - drivers/pci/intel-iommu.c | 9 +++++---- + drivers/iommu/intel-iommu.c | 9 +++++---- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt -index e7848a0..9914485 100644 +index a8ba119..8ddc43a 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt -@@ -992,12 +992,11 @@ and is between 256 and 4096 characters. It is defined in the file +@@ -998,12 +998,11 @@ bytes respectively. Such letter suffixes can also be entirely omitted. Enable intel iommu driver. off Disable intel iommu driver. @@ -40,22 +41,22 @@ index e7848a0..9914485 100644 + mapped as normal device. forcedac [x86_64] With this option iommu will not optimize to look - for io virtual address below 32 bit forcing dual -diff --git a/drivers/pci/intel-iommu.c b/drivers/pci/intel-iommu.c -index 4173125..8f36786 100644 + for io virtual address below 32-bit forcing dual +diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c +index be1953c..2e23af1 100644 --- a/drivers/iommu/intel-iommu.c +++ b/drivers/iommu/intel-iommu.c -@@ -340,7 +340,8 @@ int dmar_disabled = 0; +@@ -404,7 +404,8 @@ int dmar_disabled = 0; int dmar_disabled = 1; - #endif /*CONFIG_DMAR_DEFAULT_ON*/ - + #endif /*CONFIG_INTEL_IOMMU_DEFAULT_ON*/ + -static int dmar_map_gfx = 1; +/* disabled by default; causes way too many issues */ +static int dmar_map_gfx = 0; static int dmar_forcedac; static int intel_iommu_strict; - -@@ -361,10 +362,10 @@ static int __init intel_iommu_setup(char *str) + static int intel_iommu_superpage = 1; +@@ -429,10 +430,10 @@ static int __init intel_iommu_setup(char *str) } else if (!strncmp(str, "off", 3)) { dmar_disabled = 1; printk(KERN_INFO "Intel-IOMMU: disabled\n"); @@ -70,9 +71,5 @@ index 4173125..8f36786 100644 printk(KERN_INFO "Intel-IOMMU: Forcing DAC for PCI devices\n"); -- -1.6.6.1 -_______________________________________________ -kernel mailing list -kernel@lists.fedoraproject.org -https://admin.fedoraproject.org/mailman/listinfo/kernel +1.7.6.4 diff --git a/rcu-avoid-just-onlined-cpu-resched.patch b/rcu-avoid-just-onlined-cpu-resched.patch deleted file mode 100644 index 517f375..0000000 --- a/rcu-avoid-just-onlined-cpu-resched.patch +++ /dev/null @@ -1,47 +0,0 @@ -rcu: Avoid having just-onlined CPU resched itself when RCU is idle - -CPUs set rdp->qs_pending when coming online to resolve races with -grace-period start. However, this means that if RCU is idle, the -just-onlined CPU might needlessly send itself resched IPIs. Adjust -the online-CPU initialization to avoid this, and also to correctly -cause the CPU to respond to the current grace period if needed. - -Signed-off-by: Paul E. McKenney ---- - kernel/rcutree.c | 13 +++++++++---- - 1 files changed, 9 insertions(+), 4 deletions(-) - -diff --git a/kernel/rcutree.c b/kernel/rcutree.c -index ba06207..472d6b2 100644 ---- a/kernel/rcutree.c -+++ b/kernel/rcutree.c -@@ -1865,8 +1865,6 @@ rcu_init_percpu_data(int cpu, struct rcu_state *rsp, int preemptible) - - /* Set up local state, ensuring consistent view of global state. */ - raw_spin_lock_irqsave(&rnp->lock, flags); -- rdp->passed_quiesc = 0; /* We could be racing with new GP, */ -- rdp->qs_pending = 1; /* so set up to respond to current GP. */ - rdp->beenonline = 1; /* We have now been online. */ - rdp->preemptible = preemptible; - rdp->qlen_last_fqs_check = 0; -@@ -1891,8 +1889,15 @@ rcu_init_percpu_data(int cpu, struct rcu_state *rsp, int preemptible) - rnp->qsmaskinit |= mask; - mask = rnp->grpmask; - if (rnp == rdp->mynode) { -- rdp->gpnum = rnp->completed; /* if GP in progress... */ -- rdp->completed = rnp->completed; -+ /* -+ * If there is a grace period in progress, we will -+ * set up to wait for it next time we run the -+ * RCU core code. -+ */ -+ rdp->gpnum = rnp->completed; -+ rdp->completed = rnp->completed; -+ rdp->passed_quiesc = 0; -+ rdp->qs_pending = 0; - rdp->passed_quiesc_completed = rnp->completed - 1; - } - raw_spin_unlock(&rnp->lock); /* irqs already disabled. */ --- -1.7.6 - diff --git a/rcutree-avoid-false-quiescent-states.patch b/rcutree-avoid-false-quiescent-states.patch deleted file mode 100644 index 9c7ffea..0000000 --- a/rcutree-avoid-false-quiescent-states.patch +++ /dev/null @@ -1,67 +0,0 @@ -diff --git a/kernel/rcutree.c b/kernel/rcutree.c -index ba06207..c38a882 100644 ---- a/kernel/rcutree.c -+++ b/kernel/rcutree.c -@@ -1476,9 +1476,6 @@ static void rcu_process_callbacks(struct softirq_action *unused) - &__get_cpu_var(rcu_sched_data)); - __rcu_process_callbacks(&rcu_bh_state, &__get_cpu_var(rcu_bh_data)); - rcu_preempt_process_callbacks(); -- -- /* If we are last CPU on way to dyntick-idle mode, accelerate it. */ -- rcu_needs_cpu_flush(); - } - - /* -diff --git a/kernel/rcutree.h b/kernel/rcutree.h -index 01b2ccd..795f7fc 100644 ---- a/kernel/rcutree.h -+++ b/kernel/rcutree.h -@@ -450,7 +450,6 @@ static int rcu_preempt_needs_cpu(int cpu); - static void __cpuinit rcu_preempt_init_percpu_data(int cpu); - static void rcu_preempt_send_cbs_to_online(void); - static void __init __rcu_init_preempt(void); --static void rcu_needs_cpu_flush(void); - static void rcu_initiate_boost(struct rcu_node *rnp, unsigned long flags); - static void rcu_preempt_boost_start_gp(struct rcu_node *rnp); - static void invoke_rcu_callbacks_kthread(void); -diff --git a/kernel/rcutree_plugin.h b/kernel/rcutree_plugin.h -index 8aafbb8..b0254de 100644 ---- a/kernel/rcutree_plugin.h -+++ b/kernel/rcutree_plugin.h -@@ -1907,15 +1907,6 @@ int rcu_needs_cpu(int cpu) - return rcu_needs_cpu_quick_check(cpu); - } - --/* -- * Check to see if we need to continue a callback-flush operations to -- * allow the last CPU to enter dyntick-idle mode. But fast dyntick-idle -- * entry is not configured, so we never do need to. -- */ --static void rcu_needs_cpu_flush(void) --{ --} -- - #else /* #if !defined(CONFIG_RCU_FAST_NO_HZ) */ - - #define RCU_NEEDS_CPU_FLUSHES 5 -@@ -1991,20 +1982,4 @@ int rcu_needs_cpu(int cpu) - return c; - } - --/* -- * Check to see if we need to continue a callback-flush operations to -- * allow the last CPU to enter dyntick-idle mode. -- */ --static void rcu_needs_cpu_flush(void) --{ -- int cpu = smp_processor_id(); -- unsigned long flags; -- -- if (per_cpu(rcu_dyntick_drain, cpu) <= 0) -- return; -- local_irq_save(flags); -- (void)rcu_needs_cpu(cpu); -- local_irq_restore(flags); --} -- - #endif /* #else #if !defined(CONFIG_RCU_FAST_NO_HZ) */ diff --git a/select-regmap-from-wm8400.patch b/select-regmap-from-wm8400.patch new file mode 100644 index 0000000..eba5b5e --- /dev/null +++ b/select-regmap-from-wm8400.patch @@ -0,0 +1,81 @@ + +Delivered-To: jwboyer@gmail.com +Received: by 10.220.45.11 with SMTP id c11cs78852vcf; + Tue, 25 Oct 2011 11:54:49 -0700 (PDT) +Received: by 10.236.124.17 with SMTP id w17mr28007377yhh.126.1319568876490; + Tue, 25 Oct 2011 11:54:36 -0700 (PDT) +Return-Path: +Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) + by mx.google.com with ESMTP id d47si24837679yhn.69.2011.10.25.11.54.34; + Tue, 25 Oct 2011 11:54:36 -0700 (PDT) +Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; +Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mail=linux-kernel-owner@vger.kernel.org +Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand + id S1750837Ab1JYSyG (ORCPT + + 99 others); Tue, 25 Oct 2011 14:54:06 -0400 +Received: from mx1.redhat.com ([209.132.183.28]:17177 "EHLO mx1.redhat.com" + rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP + id S1750755Ab1JYSyF (ORCPT ); + Tue, 25 Oct 2011 14:54:05 -0400 +Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) + by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p9PIs3QL004267 + (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); + Tue, 25 Oct 2011 14:54:03 -0400 +Received: from gelk.kernelslacker.org (ovpn-113-62.phx2.redhat.com [10.3.113.62]) + by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id p9PIs2CE024426 + (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); + Tue, 25 Oct 2011 14:54:03 -0400 +Received: from gelk.kernelslacker.org (gelk [127.0.0.1]) + by gelk.kernelslacker.org (8.14.5/8.14.4) with ESMTP id p9PIs0Ia021463; + Tue, 25 Oct 2011 14:54:01 -0400 +Received: (from davej@localhost) + by gelk.kernelslacker.org (8.14.5/8.14.5/Submit) id p9PIs0wZ021462; + Tue, 25 Oct 2011 14:54:00 -0400 +X-Authentication-Warning: gelk.kernelslacker.org: davej set sender to davej@redhat.com using -f +Date: Tue, 25 Oct 2011 14:54:00 -0400 +From: Dave Jones +To: Mark Brown +Cc: Linux Kernel +Subject: wm8400-core: select REGMAP_I2C in kconfig +Message-ID: <20111025185359.GA21019@redhat.com> +Mail-Followup-To: Dave Jones , + Mark Brown , + Linux Kernel +MIME-Version: 1.0 +Content-Type: text/plain; charset=us-ascii +Content-Disposition: inline +User-Agent: Mutt/1.5.21 (2010-09-15) +X-Scanned-By: MIMEDefang 2.67 on 10.5.11.12 +Sender: linux-kernel-owner@vger.kernel.org +Precedence: bulk +List-ID: +X-Mailing-List: linux-kernel@vger.kernel.org + +wm8400-core.c is using the regmap I2C API, so needs to select it. + +ERROR: "regmap_write" [drivers/mfd/wm8400-core.ko] undefined! +ERROR: "regmap_raw_read" [drivers/mfd/wm8400-core.ko] undefined! +ERROR: "regmap_read" [drivers/mfd/wm8400-core.ko] undefined! +ERROR: "regmap_init_i2c" [drivers/mfd/wm8400-core.ko] undefined! +ERROR: "regmap_bulk_read" [drivers/mfd/wm8400-core.ko] undefined! +ERROR: "regmap_exit" [drivers/mfd/wm8400-core.ko] undefined! + +Signed-off-by: Dave Jones + +diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig +index a67adcb..67a6126 100644 +--- a/drivers/mfd/Kconfig ++++ b/drivers/mfd/Kconfig +@@ -389,6 +389,7 @@ config MFD_MAX8998 + config MFD_WM8400 + tristate "Support Wolfson Microelectronics WM8400" + select MFD_CORE ++ select REGMAP_I2C + depends on I2C + help + Support for the Wolfson Microelecronics WM8400 PMIC and audio +-- +To unsubscribe from this list: send the line "unsubscribe linux-kernel" in +the body of a message to majordomo@vger.kernel.org +More majordomo info at http://vger.kernel.org/majordomo-info.html +Please read the FAQ at http://www.tux.org/lkml/ diff --git a/sources b/sources index 9529d7a..92fae4e 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ 8d43453f8159b2332ad410b19d86a931 linux-3.1.tar.bz2 +cdc32e1639137a0434181946bc4d502c patch-3.1-git1.bz2 diff --git a/ums-realtek-driver-uses-stack-memory-for-DMA.patch b/ums-realtek-driver-uses-stack-memory-for-DMA.patch deleted file mode 100644 index 98c8b0c..0000000 --- a/ums-realtek-driver-uses-stack-memory-for-DMA.patch +++ /dev/null @@ -1,143 +0,0 @@ -From patchwork Tue Aug 2 05:04:11 2011 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 8bit -Subject: ums-realtek driver uses stack memory for DMA -Date: Tue, 02 Aug 2011 05:04:11 -0000 -From: Adam Cozzette -X-Patchwork-Id: 1028062 -Message-Id: <20110802050411.GC3857@[192.168.0.12]> -To: Josh Boyer -Cc: edwin_rong , wwang , - Greg Kroah-Hartman , linux-usb@vger.kernel.org, - linux-kernel@vger.kernel.org - -On Mon, Aug 01, 2011 at 05:09:06PM -0400, Josh Boyer wrote: -> Hello, -> -> We have a report that the ums-realtek driver is generating a backtrace -> due to using stack variables for DMA buffers. The backtrace is below -> and you can view the bug report here: -> https://bugzilla.redhat.com/show_bug.cgi?id=720054 -> -> Looking through the code, it seems that every call to rts51x_read_mem, -> rts51x_write_mem, and rts51x_read_status passes a stack variable to -> rts51x_bulk_transport, which then calls usb_stor_bulk_transfer_buf with -> this and generates the backtrace. It is my understanding that the -> driver should be passing variables that are not on the stack and have -> been allocated with memory that will be suitable for the DMA api (e.g. -> kmalloc). -> -> Was this missed during the initial review and is anyone working on -> adapting the driver to be compliant? - -Could you try out this patch if it looks ok to you? I have not tested it because -unfortunately I don't have the hardware. Right now it generates some compile -warnings like this one: - -drivers/usb/storage/realtek_cr.c:419:40: warning: ‘buf[0]’ may be used uninitialized in this function [-Wuninitialized] - -It think they are harmless but I didn't see an obvious way to get rid of them, -so if you have any suggestions I would be glad to hear them. - -This patch changed rts51x_read_mem, rts51x_write_mem, and rts51x_read_status to -allocate temporary buffers with kmalloc. This way stack addresses are not used -for DMA when these functions call rts51x_bulk_transport. - -Signed-off-by: Adam Cozzette - ---- -realtek_cr.c | 35 ++++++++++++++++++++++++++++++----- - 1 file changed, 30 insertions(+), 5 deletions(-) - --- -To unsubscribe from this list: send the line "unsubscribe linux-kernel" in -the body of a message to majordomo@vger.kernel.org -More majordomo info at http://vger.kernel.org/majordomo-info.html -Please read the FAQ at http://www.tux.org/lkml/ - -diff --git a/drivers/usb/storage/realtek_cr.c b/drivers/usb/storage/realtek_cr.c -index 34adc4b..232167a 100644 ---- a/drivers/usb/storage/realtek_cr.c -+++ b/drivers/usb/storage/realtek_cr.c -@@ -320,6 +320,11 @@ static int rts51x_read_mem(struct us_data *us, u16 addr, u8 *data, u16 len) - { - int retval; - u8 cmnd[12] = { 0 }; -+ u8 *buf; -+ -+ buf = kmalloc(len, GFP_NOIO); -+ if (buf == NULL) -+ return USB_STOR_TRANSPORT_ERROR; - - US_DEBUGP("%s, addr = 0x%x, len = %d\n", __func__, addr, len); - -@@ -331,10 +336,14 @@ static int rts51x_read_mem(struct us_data *us, u16 addr, u8 *data, u16 len) - cmnd[5] = (u8) len; - - retval = rts51x_bulk_transport(us, 0, cmnd, 12, -- data, len, DMA_FROM_DEVICE, NULL); -- if (retval != USB_STOR_TRANSPORT_GOOD) -+ buf, len, DMA_FROM_DEVICE, NULL); -+ if (retval != USB_STOR_TRANSPORT_GOOD) { -+ kfree(buf); - return -EIO; -+ } - -+ memcpy(data, buf, len); -+ kfree(buf); - return 0; - } - -@@ -342,6 +351,12 @@ static int rts51x_write_mem(struct us_data *us, u16 addr, u8 *data, u16 len) - { - int retval; - u8 cmnd[12] = { 0 }; -+ u8 *buf; -+ -+ buf = kmalloc(len, GFP_NOIO); -+ if (buf == NULL) -+ return USB_STOR_TRANSPORT_ERROR; -+ memcpy(buf, data, len); - - US_DEBUGP("%s, addr = 0x%x, len = %d\n", __func__, addr, len); - -@@ -353,7 +368,8 @@ static int rts51x_write_mem(struct us_data *us, u16 addr, u8 *data, u16 len) - cmnd[5] = (u8) len; - - retval = rts51x_bulk_transport(us, 0, cmnd, 12, -- data, len, DMA_TO_DEVICE, NULL); -+ buf, len, DMA_TO_DEVICE, NULL); -+ kfree(buf); - if (retval != USB_STOR_TRANSPORT_GOOD) - return -EIO; - -@@ -365,6 +381,11 @@ static int rts51x_read_status(struct us_data *us, - { - int retval; - u8 cmnd[12] = { 0 }; -+ u8 *buf; -+ -+ buf = kmalloc(len, GFP_NOIO); -+ if (buf == NULL) -+ return USB_STOR_TRANSPORT_ERROR; - - US_DEBUGP("%s, lun = %d\n", __func__, lun); - -@@ -372,10 +393,14 @@ static int rts51x_read_status(struct us_data *us, - cmnd[1] = 0x09; - - retval = rts51x_bulk_transport(us, lun, cmnd, 12, -- status, len, DMA_FROM_DEVICE, actlen); -- if (retval != USB_STOR_TRANSPORT_GOOD) -+ buf, len, DMA_FROM_DEVICE, actlen); -+ if (retval != USB_STOR_TRANSPORT_GOOD) { -+ kfree(buf); - return -EIO; -+ } - -+ memcpy(status, buf, len); -+ kfree(buf); - return 0; - } - diff --git a/usb-add-quirk-for-logitech-webcams.patch b/usb-add-quirk-for-logitech-webcams.patch index 052a27e..3835050 100644 --- a/usb-add-quirk-for-logitech-webcams.patch +++ b/usb-add-quirk-for-logitech-webcams.patch @@ -1,74 +1,30 @@ -From d5446509abd85b6845d91a319a033c5bd17e494d Mon Sep 17 00:00:00 2001 -From: Oliver Neukum -Date: Tue, 13 Sep 2011 08:42:21 +0200 -Subject: [PATCH] USB:add RESET_RESUME for webcams shown to be quirky +From 47a9e4d129eb621737f2d7147ce1db0da473a98f Mon Sep 17 00:00:00 2001 +From: Josh Boyer +Date: Wed, 26 Oct 2011 13:47:56 -0400 +Subject: [PATCH] USB: add quirk for Logitech C600 web cam -From 6f673c5ef819548b2cbaf7bb607779af6fdbe731 Mon Sep 17 00:00:00 2001 -From: Oliver Neukum -Date: Tue, 30 Aug 2011 15:34:32 +0200 -Subject: [PATCH] USB:add RESET_RESUME for webcams shown to be quirky +We've had another report of the "chipmunk" sound on a Logitech C600 webcam. +This patch resolves the issue. -The new runtime PM code has shown that many webcams suffer -from a race condition that may crash them upon resume. -Runtime PM is especially prone to show the problem because -it retains power to the cameras at all times. However -system suspension may also crash the devices and retain -power to the devices. -The only way to solve this problem without races is in -usbcore with the RESET_RESUME quirk. - -Signed-off-by: Oliver Neukum - -Add C300 ID from patch in rhbz #742010 -Add C600 ID from rhbz #742010 +Cc: stable +Signed-off-by: Josh Boyer --- - drivers/usb/core/quirks.c | 27 +++++++++++++++++++++++++++ - 1 files changed, 27 insertions(+), 0 deletions(-) + drivers/usb/core/quirks.c | 3 +++ + 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c -index 81ce6a8..caa1991 100644 +index d6a8d82..caa1991 100644 --- a/drivers/usb/core/quirks.c +++ b/drivers/usb/core/quirks.c -@@ -38,6 +38,30 @@ static const struct usb_device_id usb_quirk_list[] = { - /* Creative SB Audigy 2 NX */ - { USB_DEVICE(0x041e, 0x3020), .driver_info = USB_QUIRK_RESET_RESUME }, +@@ -50,6 +50,9 @@ static const struct usb_device_id usb_quirk_list[] = { + /* Logitech Webcam B/C500 */ + { USB_DEVICE(0x046d, 0x0807), .driver_info = USB_QUIRK_RESET_RESUME }, -+ /* Logitech Webcam C200 */ -+ { USB_DEVICE(0x046d, 0x0802), .driver_info = USB_QUIRK_RESET_RESUME }, -+ -+ /* Logitech Webcam C250 */ -+ { USB_DEVICE(0x046d, 0x0804), .driver_info = USB_QUIRK_RESET_RESUME }, -+ -+ /* Logitech Webcam C300 */ -+ { USB_DEVICE(0x046d, 0x0805), .driver_info = USB_QUIRK_RESET_RESUME }, -+ -+ /* Logitech Webcam B/C500 */ -+ { USB_DEVICE(0x046d, 0x0807), .driver_info = USB_QUIRK_RESET_RESUME }, -+ + /* Logitech Webcam C600 */ + { USB_DEVICE(0x046d, 0x0808), .driver_info = USB_QUIRK_RESET_RESUME }, + -+ /* Logitech Webcam Pro 9000 */ -+ { USB_DEVICE(0x046d, 0x0809), .driver_info = USB_QUIRK_RESET_RESUME }, -+ -+ /* Logitech Webcam C310 */ -+ { USB_DEVICE(0x046d, 0x081b), .driver_info = USB_QUIRK_RESET_RESUME }, -+ -+ /* Logitech Webcam C270 */ -+ { USB_DEVICE(0x046d, 0x0825), .driver_info = USB_QUIRK_RESET_RESUME }, -+ - /* Logitech Harmony 700-series */ - { USB_DEVICE(0x046d, 0xc122), .driver_info = USB_QUIRK_DELAY_INIT }, - -@@ -69,6 +93,9 @@ static const struct usb_device_id usb_quirk_list[] = { - { USB_DEVICE(0x06a3, 0x0006), .driver_info = - USB_QUIRK_CONFIG_INTF_STRINGS }, - -+ /* Guillemot Webcam Hercules Dualpix Exchange*/ -+ { USB_DEVICE(0x06f8, 0x0804), .driver_info = USB_QUIRK_RESET_RESUME }, -+ - /* M-Systems Flash Disk Pioneers */ - { USB_DEVICE(0x08ec, 0x1000), .driver_info = USB_QUIRK_RESET_RESUME }, + /* Logitech Webcam Pro 9000 */ + { USB_DEVICE(0x046d, 0x0809), .driver_info = USB_QUIRK_RESET_RESUME }, -- 1.7.6.4