Merge changes from sid up to 3.1.4-1
svn path=/dists/trunk/linux-2.6/; revision=18335
This commit is contained in:
commit
e29f027ab7
|
@ -17,6 +17,34 @@ linux-2.6 (3.2~rc3-1~experimental.1) UNRELEASED; urgency=low
|
|||
|
||||
-- Ben Hutchings <ben@decadent.org.uk> Mon, 14 Nov 2011 15:21:10 +0000
|
||||
|
||||
linux-2.6 (3.1.4-1) unstable; urgency=low
|
||||
|
||||
* New upstream stable updates:
|
||||
http://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.1.2
|
||||
http://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.1.3
|
||||
- TTY: ldisc, wait for ldisc infinitely in hangup (Closes: #645071)
|
||||
http://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.1.4
|
||||
|
||||
[ Martin Michlmayr ]
|
||||
* [armel] Set the priority of pata-modules to standard since the
|
||||
GLAN Tank uses PATA.
|
||||
|
||||
[ Ben Hutchings ]
|
||||
* Enable BCMA as module, BCMA_HOST_PCI and B43_BCMA (Closes: #649567)
|
||||
but limit these to devices not supported by brcmsmac
|
||||
* brcmsmac: Enable as module for all architectures
|
||||
* Include module taint flags in bug reports
|
||||
* lirc_serial: Fix various bugs that may result in a crash, deadlock or
|
||||
other failure (Closes: #645811)
|
||||
* amilo-rfkill: Use proper functions to write to the i8042 safely
|
||||
* topology: Provide CPU topology in sysfs in !SMP configurations
|
||||
(Closes: #649216)
|
||||
|
||||
[ Bastian Blank ]
|
||||
* Include generated headers. (closes: #650085)
|
||||
|
||||
-- Bastian Blank <waldi@debian.org> Tue, 29 Nov 2011 14:14:14 +0100
|
||||
|
||||
linux-2.6 (3.1.1-1) unstable; urgency=high
|
||||
|
||||
* New upstream stable update:
|
||||
|
|
|
@ -202,7 +202,10 @@ CONFIG_EXTRA_FIRMWARE=""
|
|||
##
|
||||
## file: drivers/bcma/Kconfig
|
||||
##
|
||||
# CONFIG_BCMA is not set
|
||||
CONFIG_BCMA=m
|
||||
CONFIG_BCMA_HOST_PCI=y
|
||||
# CONFIG_BCMA_DRIVER_PCI_HOSTMODE is not set
|
||||
# CONFIG_BCMA_DEBUG is not set
|
||||
|
||||
##
|
||||
## file: drivers/block/Kconfig
|
||||
|
@ -2176,6 +2179,7 @@ CONFIG_CARL9170_LEDS=y
|
|||
## file: drivers/net/wireless/b43/Kconfig
|
||||
##
|
||||
CONFIG_B43=m
|
||||
CONFIG_B43_BCMA=y
|
||||
CONFIG_B43_PCMCIA=y
|
||||
CONFIG_B43_SDIO=y
|
||||
CONFIG_B43_PHY_N=y
|
||||
|
@ -2724,6 +2728,13 @@ CONFIG_STAGING=y
|
|||
##
|
||||
# CONFIG_ASUS_OLED is not set
|
||||
|
||||
##
|
||||
## file: drivers/staging/brcm80211/Kconfig
|
||||
##
|
||||
CONFIG_BRCMSMAC=m
|
||||
# CONFIG_BRCMFMAC is not set
|
||||
# CONFIG_BRCMDBG is not set
|
||||
|
||||
##
|
||||
## file: drivers/staging/comedi/Kconfig
|
||||
##
|
||||
|
|
|
@ -1164,13 +1164,6 @@ CONFIG_PCMCIA_SYM53C500=m
|
|||
##
|
||||
CONFIG_SFI=y
|
||||
|
||||
##
|
||||
## file: drivers/staging/brcm80211/Kconfig
|
||||
##
|
||||
CONFIG_BRCMSMAC=m
|
||||
# CONFIG_BRCMFMAC is not set
|
||||
# CONFIG_BRCMDBG is not set
|
||||
|
||||
##
|
||||
## file: drivers/staging/comedi/Kconfig
|
||||
##
|
||||
|
|
|
@ -26,7 +26,7 @@ Depends: usb-modules, nls-core-modules
|
|||
|
||||
Package: pata-modules
|
||||
Depends: kernel-image, ata-modules
|
||||
Priority: extra
|
||||
Priority: standard
|
||||
|
||||
Package: nbd-modules
|
||||
Depends: kernel-image
|
||||
|
|
140
debian/patches/bugfix/all/0001-media-staging-lirc_serial-Fix-init-exit-order.patch
vendored
Normal file
140
debian/patches/bugfix/all/0001-media-staging-lirc_serial-Fix-init-exit-order.patch
vendored
Normal file
|
@ -0,0 +1,140 @@
|
|||
From: Ben Hutchings <ben@decadent.org.uk>
|
||||
Date: Wed, 16 Nov 2011 01:49:41 -0300
|
||||
Subject: [PATCH 1/5] [media] staging: lirc_serial: Fix init/exit order
|
||||
|
||||
commit 9105b8b200410383d0854bbe237ee385d7d33ba6 upstream.
|
||||
|
||||
Currently the module init function registers a platform_device and
|
||||
only then allocates its IRQ and I/O region. This allows allocation to
|
||||
race with the device's suspend() function. Instead, allocate
|
||||
resources in the platform driver's probe() function and free them in
|
||||
the remove() function.
|
||||
|
||||
The module exit function removes the platform device before the
|
||||
character device that provides access to it. Change it to reverse the
|
||||
order of initialisation.
|
||||
|
||||
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
|
||||
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
|
||||
---
|
||||
drivers/staging/media/lirc/lirc_serial.c | 56 +++++++++++------------------
|
||||
1 files changed, 21 insertions(+), 35 deletions(-)
|
||||
|
||||
diff --git a/drivers/staging/media/lirc/lirc_serial.c b/drivers/staging/media/lirc/lirc_serial.c
|
||||
index 8a060a8..8637631 100644
|
||||
--- a/drivers/staging/media/lirc/lirc_serial.c
|
||||
+++ b/drivers/staging/media/lirc/lirc_serial.c
|
||||
@@ -836,7 +836,7 @@ static int hardware_init_port(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
-static int init_port(void)
|
||||
+static int __devinit lirc_serial_probe(struct platform_device *dev)
|
||||
{
|
||||
int i, nlow, nhigh, result;
|
||||
|
||||
@@ -913,6 +913,18 @@ static int init_port(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
+static int __devexit lirc_serial_remove(struct platform_device *dev)
|
||||
+{
|
||||
+ free_irq(irq, (void *)&hardware);
|
||||
+
|
||||
+ if (iommap != 0)
|
||||
+ release_mem_region(iommap, 8 << ioshift);
|
||||
+ else
|
||||
+ release_region(io, 8);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
static int set_use_inc(void *data)
|
||||
{
|
||||
unsigned long flags;
|
||||
@@ -1076,16 +1088,6 @@ static struct lirc_driver driver = {
|
||||
|
||||
static struct platform_device *lirc_serial_dev;
|
||||
|
||||
-static int __devinit lirc_serial_probe(struct platform_device *dev)
|
||||
-{
|
||||
- return 0;
|
||||
-}
|
||||
-
|
||||
-static int __devexit lirc_serial_remove(struct platform_device *dev)
|
||||
-{
|
||||
- return 0;
|
||||
-}
|
||||
-
|
||||
static int lirc_serial_suspend(struct platform_device *dev,
|
||||
pm_message_t state)
|
||||
{
|
||||
@@ -1188,10 +1190,6 @@ static int __init lirc_serial_init_module(void)
|
||||
{
|
||||
int result;
|
||||
|
||||
- result = lirc_serial_init();
|
||||
- if (result)
|
||||
- return result;
|
||||
-
|
||||
switch (type) {
|
||||
case LIRC_HOMEBREW:
|
||||
case LIRC_IRDEO:
|
||||
@@ -1211,8 +1209,7 @@ static int __init lirc_serial_init_module(void)
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
- result = -EINVAL;
|
||||
- goto exit_serial_exit;
|
||||
+ return -EINVAL;
|
||||
}
|
||||
if (!softcarrier) {
|
||||
switch (type) {
|
||||
@@ -1228,37 +1225,26 @@ static int __init lirc_serial_init_module(void)
|
||||
}
|
||||
}
|
||||
|
||||
- result = init_port();
|
||||
- if (result < 0)
|
||||
- goto exit_serial_exit;
|
||||
+ result = lirc_serial_init();
|
||||
+ if (result)
|
||||
+ return result;
|
||||
+
|
||||
driver.features = hardware[type].features;
|
||||
driver.dev = &lirc_serial_dev->dev;
|
||||
driver.minor = lirc_register_driver(&driver);
|
||||
if (driver.minor < 0) {
|
||||
printk(KERN_ERR LIRC_DRIVER_NAME
|
||||
": register_chrdev failed!\n");
|
||||
- result = -EIO;
|
||||
- goto exit_release;
|
||||
+ lirc_serial_exit();
|
||||
+ return -EIO;
|
||||
}
|
||||
return 0;
|
||||
-exit_release:
|
||||
- release_region(io, 8);
|
||||
-exit_serial_exit:
|
||||
- lirc_serial_exit();
|
||||
- return result;
|
||||
}
|
||||
|
||||
static void __exit lirc_serial_exit_module(void)
|
||||
{
|
||||
- lirc_serial_exit();
|
||||
-
|
||||
- free_irq(irq, (void *)&hardware);
|
||||
-
|
||||
- if (iommap != 0)
|
||||
- release_mem_region(iommap, 8 << ioshift);
|
||||
- else
|
||||
- release_region(io, 8);
|
||||
lirc_unregister_driver(driver.minor);
|
||||
+ lirc_serial_exit();
|
||||
dprintk("cleaned up module\n");
|
||||
}
|
||||
|
||||
--
|
||||
1.7.7.3
|
||||
|
59
debian/patches/bugfix/all/0002-media-staging-lirc_serial-Free-resources-on-failure-.patch
vendored
Normal file
59
debian/patches/bugfix/all/0002-media-staging-lirc_serial-Free-resources-on-failure-.patch
vendored
Normal file
|
@ -0,0 +1,59 @@
|
|||
From: Ben Hutchings <ben@decadent.org.uk>
|
||||
Date: Wed, 16 Nov 2011 01:52:11 -0300
|
||||
Subject: [PATCH 2/5] [media] staging: lirc_serial: Free resources on failure
|
||||
paths of lirc_serial_probe()
|
||||
|
||||
commit c8e57e1b766c2321aa76ee5e6878c69bd2313d62 upstream.
|
||||
|
||||
Failure to allocate the I/O region leaves the IRQ allocated.
|
||||
A later failure leaves them both allocated.
|
||||
|
||||
Reported-by: Torsten Crass <torsten.crass@eBiology.de>
|
||||
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
|
||||
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
|
||||
---
|
||||
drivers/staging/media/lirc/lirc_serial.c | 19 ++++++++++++++++---
|
||||
1 files changed, 16 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/drivers/staging/media/lirc/lirc_serial.c b/drivers/staging/media/lirc/lirc_serial.c
|
||||
index 8637631..d833772 100644
|
||||
--- a/drivers/staging/media/lirc/lirc_serial.c
|
||||
+++ b/drivers/staging/media/lirc/lirc_serial.c
|
||||
@@ -875,11 +875,14 @@ static int __devinit lirc_serial_probe(struct platform_device *dev)
|
||||
": or compile the serial port driver as module and\n");
|
||||
printk(KERN_WARNING LIRC_DRIVER_NAME
|
||||
": make sure this module is loaded first\n");
|
||||
- return -EBUSY;
|
||||
+ result = -EBUSY;
|
||||
+ goto exit_free_irq;
|
||||
}
|
||||
|
||||
- if (hardware_init_port() < 0)
|
||||
- return -EINVAL;
|
||||
+ if (hardware_init_port() < 0) {
|
||||
+ result = -EINVAL;
|
||||
+ goto exit_release_region;
|
||||
+ }
|
||||
|
||||
/* Initialize pulse/space widths */
|
||||
init_timing_params(duty_cycle, freq);
|
||||
@@ -911,6 +914,16 @@ static int __devinit lirc_serial_probe(struct platform_device *dev)
|
||||
|
||||
dprintk("Interrupt %d, port %04x obtained\n", irq, io);
|
||||
return 0;
|
||||
+
|
||||
+exit_release_region:
|
||||
+ if (iommap != 0)
|
||||
+ release_mem_region(iommap, 8 << ioshift);
|
||||
+ else
|
||||
+ release_region(io, 8);
|
||||
+exit_free_irq:
|
||||
+ free_irq(irq, (void *)&hardware);
|
||||
+
|
||||
+ return result;
|
||||
}
|
||||
|
||||
static int __devexit lirc_serial_remove(struct platform_device *dev)
|
||||
--
|
||||
1.7.7.3
|
||||
|
34
debian/patches/bugfix/all/0003-media-staging-lirc_serial-Fix-deadlock-on-resume-fai.patch
vendored
Normal file
34
debian/patches/bugfix/all/0003-media-staging-lirc_serial-Fix-deadlock-on-resume-fai.patch
vendored
Normal file
|
@ -0,0 +1,34 @@
|
|||
From: Ben Hutchings <ben@decadent.org.uk>
|
||||
Date: Wed, 16 Nov 2011 01:53:25 -0300
|
||||
Subject: [PATCH 3/5] [media] staging: lirc_serial: Fix deadlock on resume
|
||||
failure
|
||||
|
||||
commit 1ff1d88e862948ae5bfe490248c023ff8ac2855d upstream.
|
||||
|
||||
A resume function cannot remove the device it is resuming!
|
||||
|
||||
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
|
||||
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
|
||||
---
|
||||
drivers/staging/media/lirc/lirc_serial.c | 4 +---
|
||||
1 files changed, 1 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/drivers/staging/media/lirc/lirc_serial.c b/drivers/staging/media/lirc/lirc_serial.c
|
||||
index d833772..befe626 100644
|
||||
--- a/drivers/staging/media/lirc/lirc_serial.c
|
||||
+++ b/drivers/staging/media/lirc/lirc_serial.c
|
||||
@@ -1127,10 +1127,8 @@ static int lirc_serial_resume(struct platform_device *dev)
|
||||
{
|
||||
unsigned long flags;
|
||||
|
||||
- if (hardware_init_port() < 0) {
|
||||
- lirc_serial_exit();
|
||||
+ if (hardware_init_port() < 0)
|
||||
return -EINVAL;
|
||||
- }
|
||||
|
||||
spin_lock_irqsave(&hardware[type].lock, flags);
|
||||
/* Enable Interrupt */
|
||||
--
|
||||
1.7.7.3
|
||||
|
102
debian/patches/bugfix/all/0004-media-staging-lirc_serial-Fix-bogus-error-codes.patch
vendored
Normal file
102
debian/patches/bugfix/all/0004-media-staging-lirc_serial-Fix-bogus-error-codes.patch
vendored
Normal file
|
@ -0,0 +1,102 @@
|
|||
From: Ben Hutchings <ben@decadent.org.uk>
|
||||
Date: Wed, 16 Nov 2011 01:53:35 -0300
|
||||
Subject: [PATCH 4/5] [media] staging: lirc_serial: Fix bogus error codes
|
||||
|
||||
commit 9b98d60679711753e548be15c6bef5239db6ed64 upstream.
|
||||
|
||||
Device not found? ENODEV, not EINVAL.
|
||||
Write to read-only device? EPERM, not EBADF.
|
||||
Invalid argument? EINVAL, not ENOSYS.
|
||||
Unsupported ioctl? ENOIOCTLCMD, not ENOSYS.
|
||||
Another function returned an error code? Use that, don't replace it.
|
||||
|
||||
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
|
||||
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
|
||||
---
|
||||
drivers/staging/media/lirc/lirc_serial.c | 23 ++++++++++++-----------
|
||||
1 files changed, 12 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/drivers/staging/media/lirc/lirc_serial.c b/drivers/staging/media/lirc/lirc_serial.c
|
||||
index befe626..6f5257e 100644
|
||||
--- a/drivers/staging/media/lirc/lirc_serial.c
|
||||
+++ b/drivers/staging/media/lirc/lirc_serial.c
|
||||
@@ -773,7 +773,7 @@ static int hardware_init_port(void)
|
||||
/* we fail, there's nothing here */
|
||||
printk(KERN_ERR LIRC_DRIVER_NAME ": port existence test "
|
||||
"failed, cannot continue\n");
|
||||
- return -EINVAL;
|
||||
+ return -ENODEV;
|
||||
}
|
||||
|
||||
|
||||
@@ -879,10 +879,9 @@ static int __devinit lirc_serial_probe(struct platform_device *dev)
|
||||
goto exit_free_irq;
|
||||
}
|
||||
|
||||
- if (hardware_init_port() < 0) {
|
||||
- result = -EINVAL;
|
||||
+ result = hardware_init_port();
|
||||
+ if (result < 0)
|
||||
goto exit_release_region;
|
||||
- }
|
||||
|
||||
/* Initialize pulse/space widths */
|
||||
init_timing_params(duty_cycle, freq);
|
||||
@@ -980,7 +979,7 @@ static ssize_t lirc_write(struct file *file, const char *buf,
|
||||
int *wbuf;
|
||||
|
||||
if (!(hardware[type].features & LIRC_CAN_SEND_PULSE))
|
||||
- return -EBADF;
|
||||
+ return -EPERM;
|
||||
|
||||
count = n / sizeof(int);
|
||||
if (n % sizeof(int) || count % 2 == 0)
|
||||
@@ -1031,11 +1030,11 @@ static long lirc_ioctl(struct file *filep, unsigned int cmd, unsigned long arg)
|
||||
return result;
|
||||
/* only LIRC_MODE_PULSE supported */
|
||||
if (value != LIRC_MODE_PULSE)
|
||||
- return -ENOSYS;
|
||||
+ return -EINVAL;
|
||||
break;
|
||||
|
||||
case LIRC_GET_LENGTH:
|
||||
- return -ENOSYS;
|
||||
+ return -ENOIOCTLCMD;
|
||||
break;
|
||||
|
||||
case LIRC_SET_SEND_DUTY_CYCLE:
|
||||
@@ -1126,9 +1125,11 @@ static void lirc_serial_exit(void);
|
||||
static int lirc_serial_resume(struct platform_device *dev)
|
||||
{
|
||||
unsigned long flags;
|
||||
+ int result;
|
||||
|
||||
- if (hardware_init_port() < 0)
|
||||
- return -EINVAL;
|
||||
+ result = hardware_init_port();
|
||||
+ if (result < 0)
|
||||
+ return result;
|
||||
|
||||
spin_lock_irqsave(&hardware[type].lock, flags);
|
||||
/* Enable Interrupt */
|
||||
@@ -1161,7 +1162,7 @@ static int __init lirc_serial_init(void)
|
||||
/* Init read buffer. */
|
||||
result = lirc_buffer_init(&rbuf, sizeof(int), RBUF_LEN);
|
||||
if (result < 0)
|
||||
- return -ENOMEM;
|
||||
+ return result;
|
||||
|
||||
result = platform_driver_register(&lirc_serial_driver);
|
||||
if (result) {
|
||||
@@ -1247,7 +1248,7 @@ static int __init lirc_serial_init_module(void)
|
||||
printk(KERN_ERR LIRC_DRIVER_NAME
|
||||
": register_chrdev failed!\n");
|
||||
lirc_serial_exit();
|
||||
- return -EIO;
|
||||
+ return driver.minor;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
--
|
||||
1.7.7.3
|
||||
|
51
debian/patches/bugfix/all/0005-media-staging-lirc_serial-Do-not-assume-error-codes-.patch
vendored
Normal file
51
debian/patches/bugfix/all/0005-media-staging-lirc_serial-Do-not-assume-error-codes-.patch
vendored
Normal file
|
@ -0,0 +1,51 @@
|
|||
From: Ben Hutchings <ben@decadent.org.uk>
|
||||
Date: Wed, 16 Nov 2011 01:54:04 -0300
|
||||
Subject: [PATCH 5/5] [media] staging: lirc_serial: Do not assume error codes
|
||||
returned by request_irq()
|
||||
|
||||
commit affc9a0d59ac49bd304e2137bd5e4ffdd6fdfa52 upstream.
|
||||
|
||||
lirc_serial_probe() must fail if request_irq() returns an error, even if
|
||||
it isn't EBUSY or EINVAL,
|
||||
|
||||
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
|
||||
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
|
||||
---
|
||||
drivers/staging/media/lirc/lirc_serial.c | 21 +++++++++------------
|
||||
1 files changed, 9 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/drivers/staging/media/lirc/lirc_serial.c b/drivers/staging/media/lirc/lirc_serial.c
|
||||
index 6f5257e..0ca308a 100644
|
||||
--- a/drivers/staging/media/lirc/lirc_serial.c
|
||||
+++ b/drivers/staging/media/lirc/lirc_serial.c
|
||||
@@ -843,18 +843,15 @@ static int __devinit lirc_serial_probe(struct platform_device *dev)
|
||||
result = request_irq(irq, irq_handler,
|
||||
(share_irq ? IRQF_SHARED : 0),
|
||||
LIRC_DRIVER_NAME, (void *)&hardware);
|
||||
-
|
||||
- switch (result) {
|
||||
- case -EBUSY:
|
||||
- printk(KERN_ERR LIRC_DRIVER_NAME ": IRQ %d busy\n", irq);
|
||||
- return -EBUSY;
|
||||
- case -EINVAL:
|
||||
- printk(KERN_ERR LIRC_DRIVER_NAME
|
||||
- ": Bad irq number or handler\n");
|
||||
- return -EINVAL;
|
||||
- default:
|
||||
- break;
|
||||
- };
|
||||
+ if (result < 0) {
|
||||
+ if (result == -EBUSY)
|
||||
+ printk(KERN_ERR LIRC_DRIVER_NAME ": IRQ %d busy\n",
|
||||
+ irq);
|
||||
+ else if (result == -EINVAL)
|
||||
+ printk(KERN_ERR LIRC_DRIVER_NAME
|
||||
+ ": Bad irq number or handler\n");
|
||||
+ return result;
|
||||
+ }
|
||||
|
||||
/* Reserve io region. */
|
||||
/*
|
||||
--
|
||||
1.7.7.3
|
||||
|
31
debian/patches/debian/bcma-Do-not-claim-PCI-device-IDs-also-claimed-by-brc.patch
vendored
Normal file
31
debian/patches/debian/bcma-Do-not-claim-PCI-device-IDs-also-claimed-by-brc.patch
vendored
Normal file
|
@ -0,0 +1,31 @@
|
|||
From: Ben Hutchings <ben@decadent.org.uk>
|
||||
Date: Thu, 24 Nov 2011 07:45:52 +0000
|
||||
Subject: [PATCH] bcma: Do not claim PCI device IDs also claimed by brcmsmac
|
||||
|
||||
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
|
||||
---
|
||||
drivers/bcma/host_pci.c | 4 +++-
|
||||
1 files changed, 3 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/drivers/bcma/host_pci.c b/drivers/bcma/host_pci.c
|
||||
index ac4bc62..e75e78d 100644
|
||||
--- a/drivers/bcma/host_pci.c
|
||||
+++ b/drivers/bcma/host_pci.c
|
||||
@@ -224,11 +224,13 @@ static void bcma_host_pci_remove(struct pci_dev *dev)
|
||||
}
|
||||
|
||||
static DEFINE_PCI_DEVICE_TABLE(bcma_pci_bridge_tbl) = {
|
||||
+#if !IS_ENABLED(CONFIG_BRCMSMAC)
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x0576) },
|
||||
- { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4331) },
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4353) },
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4357) },
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4727) },
|
||||
+#endif
|
||||
+ { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4331) },
|
||||
{ 0, },
|
||||
};
|
||||
MODULE_DEVICE_TABLE(pci, bcma_pci_bridge_tbl);
|
||||
--
|
||||
1.7.7.3
|
||||
|
44
debian/patches/features/all/topology-Provide-CPU-topology-in-sysfs-in-SMP-configura.patch
vendored
Normal file
44
debian/patches/features/all/topology-Provide-CPU-topology-in-sysfs-in-SMP-configura.patch
vendored
Normal file
|
@ -0,0 +1,44 @@
|
|||
From: Ben Hutchings <ben@decadent.org.uk>
|
||||
Date: Thu, 24 Nov 2011 07:04:39 +0000
|
||||
Subject: [PATCH] topology: Provide CPU topology in sysfs in !SMP
|
||||
configurations
|
||||
|
||||
commit ccbc60d3e19a1b6ae66ca0d89b3da02dde62088b upstream.
|
||||
|
||||
We should provide topology information to userland even if it's not
|
||||
very interesting. The current code appears to work properly for !SMP
|
||||
(tested on i386).
|
||||
|
||||
Reference: http://bugs.debian.org/649216
|
||||
Reported-by: Marcus Osdoba <marcus.osdoba@googlemail.com>
|
||||
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
|
||||
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
||||
---
|
||||
drivers/base/Makefile | 4 ++--
|
||||
1 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/base/Makefile b/drivers/base/Makefile
|
||||
index 99a375a..1334d89 100644
|
||||
--- a/drivers/base/Makefile
|
||||
+++ b/drivers/base/Makefile
|
||||
@@ -3,7 +3,8 @@
|
||||
obj-y := core.o sys.o bus.o dd.o syscore.o \
|
||||
driver.o class.o platform.o \
|
||||
cpu.o firmware.o init.o map.o devres.o \
|
||||
- attribute_container.o transport_class.o
|
||||
+ attribute_container.o transport_class.o \
|
||||
+ topology.o
|
||||
obj-$(CONFIG_DEVTMPFS) += devtmpfs.o
|
||||
obj-y += power/
|
||||
obj-$(CONFIG_HAS_DMA) += dma-mapping.o
|
||||
@@ -12,7 +13,6 @@ obj-$(CONFIG_ISA) += isa.o
|
||||
obj-$(CONFIG_FW_LOADER) += firmware_class.o
|
||||
obj-$(CONFIG_NUMA) += node.o
|
||||
obj-$(CONFIG_MEMORY_HOTPLUG_SPARSE) += memory.o
|
||||
-obj-$(CONFIG_SMP) += topology.o
|
||||
ifeq ($(CONFIG_SYSFS),y)
|
||||
obj-$(CONFIG_MODULES) += module.o
|
||||
endif
|
||||
--
|
||||
1.7.7.3
|
||||
|
|
@ -9,15 +9,15 @@ Fujitsu-Siemens Amilo A1655 and M7440 models found at:
|
|||
http://sourceforge.net/projects/fsaa1655g/
|
||||
http://sourceforge.net/projects/fsam7440/
|
||||
|
||||
This adds DMI matching and replaces the procfs files with rfkill
|
||||
devices.
|
||||
This adds DMI matching, replaces the procfs files with rfkill devices,
|
||||
and uses the proper function to write to the i8042 safely.
|
||||
|
||||
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
|
||||
---
|
||||
drivers/platform/x86/Kconfig | 7 ++
|
||||
drivers/platform/x86/Makefile | 1 +
|
||||
drivers/platform/x86/amilo-rfkill.c | 180 +++++++++++++++++++++++++++++++++++
|
||||
3 files changed, 188 insertions(+), 0 deletions(-)
|
||||
drivers/platform/x86/amilo-rfkill.c | 173 +++++++++++++++++++++++++++++++++++
|
||||
3 files changed, 181 insertions(+), 0 deletions(-)
|
||||
create mode 100644 drivers/platform/x86/amilo-rfkill.c
|
||||
|
||||
diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
|
||||
|
@ -52,10 +52,10 @@ index 293a320..3acbaad 100644
|
|||
obj-$(CONFIG_IDEAPAD_LAPTOP) += ideapad-laptop.o
|
||||
diff --git a/drivers/platform/x86/amilo-rfkill.c b/drivers/platform/x86/amilo-rfkill.c
|
||||
new file mode 100644
|
||||
index 0000000..028d3ec
|
||||
index 0000000..19170bb
|
||||
--- /dev/null
|
||||
+++ b/drivers/platform/x86/amilo-rfkill.c
|
||||
@@ -0,0 +1,180 @@
|
||||
@@ -0,0 +1,173 @@
|
||||
+/*
|
||||
+ * Support for rfkill on some Fujitsu-Siemens Amilo laptops.
|
||||
+ * Copyright 2011 Ben Hutchings.
|
||||
|
@ -73,6 +73,7 @@ index 0000000..028d3ec
|
|||
+
|
||||
+#include <linux/module.h>
|
||||
+#include <linux/dmi.h>
|
||||
+#include <linux/i8042.h>
|
||||
+#include <linux/io.h>
|
||||
+#include <linux/moduleparam.h>
|
||||
+#include <linux/platform_device.h>
|
||||
|
@ -82,27 +83,19 @@ index 0000000..028d3ec
|
|||
+ * These values were obtained from disassembling and debugging the
|
||||
+ * PM.exe program installed in the Fujitsu-Siemens AMILO A1655G
|
||||
+ */
|
||||
+#define A1655_STATE_PORT 0x64
|
||||
+#define A1655_COMMAND_PORT 0x64
|
||||
+#define A1655_DATA_PORT 0x60
|
||||
+#define A1655_WIFI_COMMAND 0xC5
|
||||
+#define A1655_WIFI_COMMAND 0x10C5
|
||||
+#define A1655_WIFI_ON 0x25
|
||||
+#define A1655_WIFI_OFF 0x45
|
||||
+
|
||||
+static int amilo_a1655_rfkill_set_block(void *data, bool blocked)
|
||||
+{
|
||||
+ u8 val;
|
||||
+ u8 param = blocked ? A1655_WIFI_OFF : A1655_WIFI_ON;
|
||||
+ int rc;
|
||||
+
|
||||
+ do
|
||||
+ val = inb(A1655_STATE_PORT);
|
||||
+ while ((val & 2) == 2);
|
||||
+ outb(A1655_WIFI_COMMAND, A1655_COMMAND_PORT);
|
||||
+ do
|
||||
+ val = inb(A1655_STATE_PORT);
|
||||
+ while ((val & 2) == 2);
|
||||
+ outb(blocked ? A1655_WIFI_OFF : A1655_WIFI_ON, A1655_DATA_PORT);
|
||||
+
|
||||
+ return 0;
|
||||
+ i8042_lock_chip();
|
||||
+ rc = i8042_command(¶m, A1655_WIFI_COMMAND);
|
||||
+ i8042_unlock_chip();
|
||||
+ return rc;
|
||||
+}
|
||||
+
|
||||
+static const struct rfkill_ops amilo_a1655_rfkill_ops = {
|
||||
|
@ -237,5 +230,5 @@ index 0000000..028d3ec
|
|||
+module_init(amilo_rfkill_init);
|
||||
+module_exit(amilo_rfkill_exit);
|
||||
--
|
||||
1.7.7.2
|
||||
1.7.7.3
|
||||
|
||||
|
|
|
@ -46,3 +46,13 @@
|
|||
#+ bugfix/ia64/ia64-Add-accept4-syscall.patch
|
||||
+ bugfix/arm/ixp4xx_iobe.patch
|
||||
+ bugfix/all/netdev-Revert-ARCNET-and-PHYLIB-to-tristate-options.patch
|
||||
|
||||
+ debian/bcma-Do-not-claim-PCI-device-IDs-also-claimed-by-brc.patch
|
||||
|
||||
+ bugfix/all/0001-media-staging-lirc_serial-Fix-init-exit-order.patch
|
||||
+ bugfix/all/0002-media-staging-lirc_serial-Free-resources-on-failure-.patch
|
||||
+ bugfix/all/0003-media-staging-lirc_serial-Fix-deadlock-on-resume-fai.patch
|
||||
+ bugfix/all/0004-media-staging-lirc_serial-Fix-bogus-error-codes.patch
|
||||
+ bugfix/all/0005-media-staging-lirc_serial-Do-not-assume-error-codes-.patch
|
||||
|
||||
+ features/all/topology-Provide-CPU-topology-in-sysfs-in-SMP-configura.patch
|
||||
|
|
|
@ -242,6 +242,7 @@ install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): $(STAMPS_DIR)/build_$(ARCH)_$(
|
|||
|
||||
mkdir -p $(DIR)/arch/$(KERNEL_ARCH)/kernel
|
||||
cp -a $(SOURCE_DIR)/{.config,.kernel*,Module.symvers,include} $(DIR)
|
||||
cp -a $(SOURCE_DIR)/arch/$(KERNEL_ARCH)/include $(DIR)/arch/$(KERNEL_ARCH)
|
||||
cp -a $(SOURCE_DIR)/arch/$(KERNEL_ARCH)/kernel/asm-offsets.s $(DIR)/arch/$(KERNEL_ARCH)/kernel
|
||||
|
||||
ifneq ($(filter powerpc ppc64,$(ARCH)),)
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
add_modules() {
|
||||
echo '** Loaded modules:' >&3
|
||||
lsmod >&3
|
||||
# List modules along with any taint flags
|
||||
cut -d' ' --output-delimiter='' -f1,7 /proc/modules >&3
|
||||
echo >&3
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue