firefly-linux-kernel-4.4.55.git
11 years agoMT6620 4in1:
xbw [Thu, 27 Dec 2012 11:50:02 +0000 (19:50 +0800)]
MT6620 4in1:
does not modify other.
Just eliminate compiler warning when certain macro is not defined

11 years agorkfb_sys.c:fix warning
yxj [Thu, 27 Dec 2012 09:02:26 +0000 (17:02 +0800)]
rkfb_sys.c:fix warning
warning: initialization discards qualifiers from pointer target type
warning: no return statement in function returning non-void

11 years agoMTK6620 4in1: modify a error setting in using Cdectch-chip
xbw [Thu, 27 Dec 2012 08:14:02 +0000 (16:14 +0800)]
MTK6620 4in1: modify a error setting in using Cdectch-chip

11 years agovflash: modify out of memory bug
hwg [Thu, 27 Dec 2012 07:31:51 +0000 (15:31 +0800)]
vflash: modify out of memory bug

11 years agoMerge remote-tracking branch 'stable/linux-3.0.y' into develop-3.0
黄涛 [Thu, 27 Dec 2012 04:57:21 +0000 (12:57 +0800)]
Merge remote-tracking branch 'stable/linux-3.0.y' into develop-3.0

Conflicts:
Makefile

11 years agork3168:act8846:support pmic shut down and early suspend
张晴 [Thu, 27 Dec 2012 02:52:41 +0000 (10:52 +0800)]
rk3168:act8846:support pmic shut down and early suspend

11 years agork30: setup l2 data ram latency by max cpu frequency
黄涛 [Thu, 27 Dec 2012 02:32:56 +0000 (10:32 +0800)]
rk30: setup l2 data ram latency by max cpu frequency

11 years agork2928: fix lvds macro define
yzq [Thu, 27 Dec 2012 01:54:29 +0000 (09:54 +0800)]
rk2928: fix lvds macro define

11 years agork:modify some warnings for pmu
张晴 [Wed, 26 Dec 2012 10:20:38 +0000 (18:20 +0800)]
rk:modify some warnings for pmu

11 years agocamera: ov2659 complie warning
ddl [Wed, 26 Dec 2012 09:44:00 +0000 (17:44 +0800)]
camera: ov2659 complie warning

11 years agort5631: Fix compilation warning
邱建斌 [Wed, 26 Dec 2012 09:34:43 +0000 (17:34 +0800)]
rt5631: Fix compilation warning

sound/soc/codecs/rt5631.c: In function 'rt5631_probe':
sound/soc/codecs/rt5631.c:2008: error: assignment from incompatible pointer type

11 years agoupdate iomux config
kfx [Wed, 26 Dec 2012 09:34:34 +0000 (17:34 +0800)]
update iomux config

11 years agork292x: fix vpu scale freq failed(because vepu have no round_rate)
chenxing [Wed, 26 Dec 2012 06:37:05 +0000 (14:37 +0800)]
rk292x: fix vpu scale freq failed(because vepu have no round_rate)

11 years agork3168:support act8846 set sleep voltage
张晴 [Wed, 26 Dec 2012 03:09:23 +0000 (11:09 +0800)]
rk3168:support act8846 set sleep voltage

11 years agork3168: tb: remove unused code
黄涛 [Tue, 25 Dec 2012 10:06:18 +0000 (18:06 +0800)]
rk3168: tb: remove unused code

11 years agork29-pwm-regulator: pwm_voltage_map as const, fix gcc warning: initialization discard...
黄涛 [Tue, 25 Dec 2012 10:05:22 +0000 (18:05 +0800)]
rk29-pwm-regulator: pwm_voltage_map as const, fix gcc warning: initialization discards qualifiers from pointer target type

11 years agork: usb_detect: add irq debounce for gpio detect
黄涛 [Tue, 25 Dec 2012 09:59:41 +0000 (17:59 +0800)]
rk: usb_detect: add irq debounce for gpio detect

11 years agork3168: modidied key map in rk3168 top board
hxy [Tue, 25 Dec 2012 09:39:56 +0000 (17:39 +0800)]
rk3168: modidied key map in rk3168 top board

11 years agork3168:act8846:modify some error
张晴 [Tue, 25 Dec 2012 08:40:10 +0000 (16:40 +0800)]
rk3168:act8846:modify some error

11 years agork2928&rk30&rk3066b: new iomux support
kfx [Tue, 25 Dec 2012 03:50:21 +0000 (11:50 +0800)]
rk2928&rk30&rk3066b: new iomux support

11 years agopack-kernel.sh: open source every file
黄涛 [Tue, 25 Dec 2012 01:55:43 +0000 (09:55 +0800)]
pack-kernel.sh: open source every file

11 years agork292x:move pwm set suspend voltage
张晴 [Mon, 24 Dec 2012 09:28:55 +0000 (17:28 +0800)]
rk292x:move pwm set suspend voltage

11 years agocamera:query max camera resolution failed ,fix it
zyc [Mon, 24 Dec 2012 05:03:21 +0000 (13:03 +0800)]
camera:query max camera resolution failed ,fix it

11 years agork3168: add BT support in rk3168 top board
hxy [Mon, 24 Dec 2012 06:47:54 +0000 (14:47 +0800)]
rk3168: add BT support in rk3168 top board

11 years agork3168:modify act8846,addldo9 init
张晴 [Mon, 24 Dec 2012 02:38:34 +0000 (10:38 +0800)]
rk3168:modify act8846,addldo9 init

11 years agork30: pm: support sram_log
黄涛 [Fri, 21 Dec 2012 11:34:30 +0000 (19:34 +0800)]
rk30: pm: support sram_log

11 years agork30: pm: use pm_emit_log_char to log
黄涛 [Fri, 21 Dec 2012 10:21:57 +0000 (18:21 +0800)]
rk30: pm: use pm_emit_log_char to log

11 years agork: printk: add pm_emit_log_char
黄涛 [Fri, 21 Dec 2012 10:20:28 +0000 (18:20 +0800)]
rk: printk: add pm_emit_log_char

11 years agork30: ds975: defconfig: rm TEST_POWER and FIQ_DEBUGGER_CONSOLE_DEFAULT_ENABLE
黄涛 [Fri, 21 Dec 2012 11:11:14 +0000 (19:11 +0800)]
rk30: ds975: defconfig: rm TEST_POWER and FIQ_DEBUGGER_CONSOLE_DEFAULT_ENABLE

11 years agork3066: uart0 auto support 3M
chenxing [Fri, 21 Dec 2012 10:26:29 +0000 (18:26 +0800)]
rk3066: uart0 auto support 3M

11 years agork3066b: uart0 auto support 3M
chenxing [Fri, 21 Dec 2012 10:17:17 +0000 (18:17 +0800)]
rk3066b: uart0 auto support 3M

11 years agork30 i2s : fix CONFIG_SND_I2SO_USE_EIGHT_CHANNELS error
邱建斌 [Fri, 21 Dec 2012 09:57:48 +0000 (17:57 +0800)]
rk30 i2s : fix CONFIG_SND_I2SO_USE_EIGHT_CHANNELS error

11 years agork3168:add camera support in rk3168 top board
hxy [Fri, 21 Dec 2012 09:53:29 +0000 (17:53 +0800)]
rk3168:add camera support in rk3168 top board

11 years agork3066 i2s : add I2S0 channels choose,default using two channels
邱建斌 [Fri, 21 Dec 2012 09:49:18 +0000 (17:49 +0800)]
rk3066 i2s : add I2S0 channels choose,default using two channels

11 years agoadc_battery:the bug otg can not identification host
许盛飞 [Fri, 21 Dec 2012 01:58:16 +0000 (09:58 +0800)]
adc_battery:the bug otg can not  identification host

11 years agork3168:modify defult voltage,modify some warnings
张晴 [Thu, 20 Dec 2012 08:47:10 +0000 (16:47 +0800)]
rk3168:modify defult voltage,modify some warnings

11 years agork3168:add act8846 pmu support in boardconfig
hxy [Thu, 20 Dec 2012 07:29:39 +0000 (15:29 +0800)]
rk3168:add act8846 pmu support in boardconfig

11 years agosuspend: power optimization for vccio(usb to uart bypass)
许盛飞 [Thu, 20 Dec 2012 02:14:42 +0000 (10:14 +0800)]
suspend: power optimization for vccio(usb to uart bypass)

11 years agoDS975: change BATTERY_RK30_ADC to BATTERY_RK30_ADC_FAC
hhb [Thu, 20 Dec 2012 02:05:11 +0000 (10:05 +0800)]
DS975: change BATTERY_RK30_ADC to BATTERY_RK30_ADC_FAC

11 years agork3066: support mt5931 wifi and mt6622 bt power control
hwg [Wed, 19 Dec 2012 12:01:33 +0000 (20:01 +0800)]
rk3066: support mt5931 wifi and mt6622 bt power control

11 years agosupport RK903 BT
hwg [Wed, 19 Dec 2012 09:36:08 +0000 (17:36 +0800)]
support RK903 BT

11 years agochange pll resume times in pm.c
xxx [Wed, 19 Dec 2012 08:47:40 +0000 (16:47 +0800)]
change pll resume times in pm.c

11 years agoDS975: set backlight min_brightness to 70
hhb [Wed, 19 Dec 2012 02:47:42 +0000 (10:47 +0800)]
DS975: set backlight min_brightness to 70

11 years agort5631 phone: standby enable micbias
邱建斌 [Tue, 18 Dec 2012 09:01:24 +0000 (17:01 +0800)]
rt5631 phone: standby enable micbias

11 years agoMerge remote-tracking branch 'aosp/android-3.0' into develop-3.0
黄涛 [Tue, 18 Dec 2012 08:25:10 +0000 (16:25 +0800)]
Merge remote-tracking branch 'aosp/android-3.0' into develop-3.0

Conflicts:
drivers/net/wireless/bcmdhd/Makefile
drivers/net/wireless/bcmdhd/bcmsdh.c
drivers/net/wireless/bcmdhd/bcmsdh_linux.c
drivers/net/wireless/bcmdhd/bcmsdh_sdmmc.c
drivers/net/wireless/bcmdhd/bcmsdh_sdmmc_linux.c
drivers/net/wireless/bcmdhd/dhd.h
drivers/net/wireless/bcmdhd/dhd_cfg80211.c
drivers/net/wireless/bcmdhd/dhd_custom_gpio.c
drivers/net/wireless/bcmdhd/dhd_linux.c
drivers/net/wireless/bcmdhd/dhd_sdio.c
drivers/net/wireless/bcmdhd/include/bcmutils.h
drivers/net/wireless/bcmdhd/include/epivers.h
drivers/net/wireless/bcmdhd/include/sbchipc.h
drivers/net/wireless/bcmdhd/include/sdioh.h
drivers/net/wireless/bcmdhd/include/wlioctl.h
drivers/net/wireless/bcmdhd/wl_android.c
drivers/net/wireless/bcmdhd/wl_cfg80211.c
drivers/net/wireless/bcmdhd/wl_cfg80211.h
drivers/net/wireless/bcmdhd/wl_cfgp2p.c
drivers/net/wireless/bcmdhd/wl_cfgp2p.h
drivers/net/wireless/bcmdhd/wldev_common.c

11 years agoRevert "Merge branch 'develop-3.0' of ssh://10.10.10.29/rk/kernel into develop-3.0"
黄涛 [Tue, 18 Dec 2012 08:23:28 +0000 (16:23 +0800)]
Revert "Merge branch 'develop-3.0' of ssh://10.10.10.29/rk/kernel into develop-3.0"

This reverts commit dd2610d92ed0e96ad9282701a1238776148e8db1, reversing
changes made to 78bf84a2dd7af75076ef2453d3425acab7cd5910.

11 years agoMerge branch 'develop-3.0' of ssh://10.10.10.29/rk/kernel into develop-3.0
gwl [Tue, 18 Dec 2012 06:35:35 +0000 (14:35 +0800)]
Merge branch 'develop-3.0' of ssh://10.10.10.29/rk/kernel into develop-3.0

11 years agoupdate network protcol to support bcm direct
gwl [Tue, 18 Dec 2012 06:35:17 +0000 (14:35 +0800)]
update network protcol to support bcm direct

11 years agoadd DS975 board and defconfig
hhb [Tue, 18 Dec 2012 02:46:49 +0000 (10:46 +0800)]
add DS975 board and defconfig

11 years agomodify lcd_LG_LP097X02 driver
hhb [Tue, 18 Dec 2012 02:45:56 +0000 (10:45 +0800)]
modify lcd_LG_LP097X02 driver

11 years agoadd ct36x_ts driver
hhb [Tue, 18 Dec 2012 02:42:22 +0000 (10:42 +0800)]
add ct36x_ts driver

11 years agoUART: fix bug about BOTH_EMPTY V1.3
hhb [Tue, 18 Dec 2012 02:35:05 +0000 (10:35 +0800)]
UART: fix bug about BOTH_EMPTY V1.3

11 years agoLinux 3.0.57
Greg Kroah-Hartman [Mon, 17 Dec 2012 18:56:46 +0000 (10:56 -0800)]
Linux 3.0.57

11 years agopowerpc: Keep thread.dscr and thread.dscr_inherit in sync
Anton Blanchard [Mon, 3 Sep 2012 16:48:46 +0000 (16:48 +0000)]
powerpc: Keep thread.dscr and thread.dscr_inherit in sync

commit 00ca0de02f80924dfff6b4f630e1dff3db005e35 upstream.

When we update the DSCR either via emulation of mtspr(DSCR) or via
a change to dscr_default in sysfs we don't update thread.dscr.
We will eventually update it at context switch time but there is
a period where thread.dscr is incorrect.

If we fork at this point we will copy the old value of thread.dscr
into the child. To avoid this, always keep thread.dscr in sync with
reality.

This issue was found with the following testcase:

http://ozlabs.org/~anton/junkcode/dscr_inherit_test.c

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Haren Myneni <haren@us.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agopowerpc: Update DSCR on all CPUs when writing sysfs dscr_default
Anton Blanchard [Mon, 3 Sep 2012 16:47:56 +0000 (16:47 +0000)]
powerpc: Update DSCR on all CPUs when writing sysfs dscr_default

commit 1b6ca2a6fe56e7697d57348646e07df08f43b1bb upstream.

Writing to dscr_default in sysfs doesn't actually change the DSCR -
we rely on a context switch on each CPU to do the work. There is no
guarantee we will get a context switch in a reasonable amount of time
so fire off an IPI to force an immediate change.

This issue was found with the following test case:

http://ozlabs.org/~anton/junkcode/dscr_explicit_test.c

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Haren Myneni <haren@us.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agoftrace: Clear bits properly in reset_iter_read()
Dan Carpenter [Sat, 9 Jun 2012 16:10:27 +0000 (19:10 +0300)]
ftrace: Clear bits properly in reset_iter_read()

commit 70f77b3f7ec010ff9624c1f2e39a81babc9e2429 upstream.

There is a typo here where '&' is used instead of '|' and it turns the
statement into a noop.  The original code is equivalent to:

iter->flags &= ~((1 << 2) & (1 << 4));

Link: http://lkml.kernel.org/r/20120609161027.GD6488@elgon.mountain
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agoxhci: Extend Fresco Logic MSI quirk.
Sarah Sharp [Wed, 17 Oct 2012 20:44:06 +0000 (13:44 -0700)]
xhci: Extend Fresco Logic MSI quirk.

commit bba18e33f25072ebf70fd8f7f0cdbf8cdb59a746 upstream.

Ali reports that plugging a device into the Fresco Logic xHCI host with
PCI device ID 1400 produces an IRQ error:

 do_IRQ: 3.176 No irq handler for vector (irq -1)

Other early Fresco Logic host revisions don't support MSI, even though
their PCI config space claims they do.  Extend the quirk to disabling
MSI to this chipset revision.  Also enable the short transfer quirk,
since it's likely this revision also has that quirk, and it should be
harmless to enable.

04:00.0 0c03: 1b73:1400 (rev 01) (prog-if 30 [XHCI])
        Subsystem: 1d5c:1000
        Physical Slot: 3
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0, Cache Line Size: 64 bytes
        Interrupt: pin A routed to IRQ 51
        Region 0: Memory at d4600000 (32-bit, non-prefetchable) [size=64K]
        Capabilities: [50] Power Management version 3
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold-)
                Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+
                Address: 00000000feeff00c  Data: 41b1
        Capabilities: [80] Express (v1) Endpoint, MSI 00
                DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <2us, L1 <32us
                        ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
                DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
                        RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
                        MaxPayload 128 bytes, MaxReadReq 512 bytes
                DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
                LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency L0 unlimited, L1 unlimited
                        ClockPM- Surprise- LLActRep- BwNot-
                LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
        Kernel driver in use: xhci_hcd

This patch should be backported to stable kernels as old as 2.6.36, that
contain the commit f5182b4155b9d686c5540a6822486400e34ddd98 "xhci:
Disable MSI for some Fresco Logic hosts."

Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Reported-by: A Sh <smr.ash1991@gmail.com>
Tested-by: A Sh <smr.ash1991@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agoUSB: OHCI: workaround for hardware bug: retired TDs not added to the Done Queue
Alan Stern [Mon, 26 Nov 2012 17:36:21 +0000 (12:36 -0500)]
USB: OHCI: workaround for hardware bug: retired TDs not added to the Done Queue

commit 50ce5c0683aa83eb161624ea89daa5a9eee0c2ce upstream.

This patch (as1636) is a partial workaround for a hardware bug
affecting OHCI controllers by NVIDIA at least, maybe others too.  When
the controller retires a Transfer Descriptor, it is supposed to add
the TD onto the Done Queue.  But sometimes this doesn't happen, with
the result that ohci-hcd never realizes the corresponding transfer has
finished.  Symptoms can vary; a typical result is that USB audio stops
working after a while.

The patch works around the problem by recognizing that TDs are always
processed in order.  Therefore, if a later TD is found on the Done
Queue than all the earlier TDs for the same endpoint must be finished
as well.

Unfortunately this won't solve the problem in cases where the missing
TD is the last one in the endpoint's queue.  A complete fix would
require a signficant amount of change to the driver.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Tested-by: Oliver Neukum <oneukum@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agoACPI / video: ignore BIOS initial backlight value for HP Folio 13-2000
Zhang Rui [Tue, 4 Dec 2012 22:30:19 +0000 (23:30 +0100)]
ACPI / video: ignore BIOS initial backlight value for HP Folio 13-2000

commit 129ff8f8d58297b04f47b5d6fad81aa2d08404e1 upstream.

Or else the laptop will boot with a dimmed screen.

References: https://bugzilla.kernel.org/show_bug.cgi?id=51141
Tested-by: Stefan Nagy <public@stefan-nagy.at>
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agoACPI / PNP: Do not crash due to stale pointer use during system resume
Rafael J. Wysocki [Fri, 30 Nov 2012 12:05:05 +0000 (13:05 +0100)]
ACPI / PNP: Do not crash due to stale pointer use during system resume

commit a6b5e88c0e42093b9057856f35770966c8c591e3 upstream.

During resume from system suspend the 'data' field of
struct pnp_dev in pnpacpi_set_resources() may be a stale pointer,
due to removal of the associated ACPI device node object in the
previous suspend-resume cycle.  This happens, for example, if a
dockable machine is booted in the docking station and then suspended
and resumed and suspended again.  If that happens,
pnpacpi_build_resource_template() called from pnpacpi_set_resources()
attempts to use that pointer and crashes.

However, pnpacpi_set_resources() actually checks the device's ACPI
handle, attempts to find the ACPI device node object attached to it
and returns an error code if that fails, so in fact it knows what the
correct value of dev->data should be.  Use this observation to update
dev->data with the correct value if necessary and dump a call trace
if that's the case (once).

We still need to fix the root cause of this issue, but preventing
systems from crashing because of it is an improvement too.

Reported-and-tested-by: Zdenek Kabelac <zdenek.kabelac@gmail.com>
References: https://bugzilla.kernel.org/show_bug.cgi?id=51071
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agoACPI / battery: Correct battery capacity values on Thinkpads
Kamil Iskra [Fri, 16 Nov 2012 21:28:58 +0000 (22:28 +0100)]
ACPI / battery: Correct battery capacity values on Thinkpads

commit 4000e626156935dfb626321ce09cae2c833eabbb upstream.

Add a quirk to correctly report battery capacity on 2010 and 2011
Lenovo Thinkpad models.

The affected models that I tested (x201, t410, t410s, and x220)
exhibit a problem where, when battery capacity reporting unit is mAh,
the values being reported are wrong.  Pre-2010 and 2012 models appear
to always report in mWh and are thus unaffected.  Also, in mid-2012
Lenovo issued a BIOS update for the 2011 models that fixes the issue
(tested on x220 with a post-1.29 BIOS).  No such update is available
for the 2010 models, so those still need this patch.

Problem description: for some reason, the affected Thinkpads switch
the reporting unit between mAh and mWh; generally, mAh is used when a
laptop is plugged in and mWh when it's unplugged, although a
suspend/resume or rmmod/modprobe is needed for the switch to take
effect.  The values reported in mAh are *always* wrong.  This does
not appear to be a kernel regression; I believe that the values were
never reported correctly.  I tested back to kernel 2.6.34, with
multiple machines and BIOS versions.

Simply plugging a laptop into mains before turning it on is enough to
reproduce the problem.  Here's a sample /proc/acpi/battery/BAT0/info
from Thinkpad x220 (before a BIOS update) with a 4-cell battery:

present:                 yes
design capacity:         2886 mAh
last full capacity:      2909 mAh
battery technology:      rechargeable
design voltage:          14800 mV
design capacity warning: 145 mAh
design capacity low:     13 mAh
cycle count:              0
capacity granularity 1:  1 mAh
capacity granularity 2:  1 mAh
model number:            42T4899
serial number:           21064
battery type:            LION
OEM info:                SANYO

Once the laptop switches the unit to mWh (unplug from mains, suspend,
resume), the output changes to:

present:                 yes
design capacity:         28860 mWh
last full capacity:      29090 mWh
battery technology:      rechargeable
design voltage:          14800 mV
design capacity warning: 1454 mWh
design capacity low:     200 mWh
cycle count:              0
capacity granularity 1:  1 mWh
capacity granularity 2:  1 mWh
model number:            42T4899
serial number:           21064
battery type:            LION
OEM info:                SANYO

Can you see how the values for "design capacity", etc., differ by a
factor of 10 instead of 14.8 (the design voltage of this battery)?
On the battery itself it says: 14.8V, 1.95Ah, 29Wh, so clearly the
values reported in mWh are correct and the ones in mAh are not.

My guess is that this problem has been around ever since those
machines were released, but because the most common Thinkpad
batteries are rated at 10.8V, the error (8%) is small enough that it
simply hasn't been noticed or at least nobody could be bothered to
look into it.

My patch works around the problem by adjusting the incorrectly
reported mAh values by "10000 / design_voltage".  The patch also has
code to figure out if it should be activated or not.  It only
activates on Lenovo Thinkpads, only when the unit is mAh, and, as an
extra precaution, only when the battery capacity reported through
ACPI does not match what is reported through DMI (I've never
encountered a machine where the first two conditions would be true
but the last would not, but better safe than sorry).

I've been using this patch for close to a year on several systems
without any problems.

References: https://bugzilla.kernel.org/show_bug.cgi?id=41062
Acked-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agoUSB: mark uas driver as BROKEN
Greg Kroah-Hartman [Wed, 28 Nov 2012 18:19:16 +0000 (10:19 -0800)]
USB: mark uas driver as BROKEN

commit fb37ef98015f864d22be223a0e0d93547cd1d4ef upstream.

As reported https://bugzilla.kernel.org/show_bug.cgi?id=51031, the UAS
driver causes problems and has been asked to be not built into any of
the major distributions.  To prevent users from running into problems
with it, and for distros that were not notified, just mark the whole
thing as broken.

Acked-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agoUSB: cp210x: add Virtenio Preon32 device id
Markus Becker [Thu, 22 Nov 2012 08:41:23 +0000 (09:41 +0100)]
USB: cp210x: add Virtenio Preon32 device id

commit 356fe44f4b8ece867bdb9876b1854d7adbef9de2 upstream.

Signed-off-by: Markus Becker <mab@comnets.uni-bremen.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agousb: ftdi_sio: fixup BeagleBone A5+ quirk
Peter Korsgaard [Thu, 22 Nov 2012 15:30:46 +0000 (16:30 +0100)]
usb: ftdi_sio: fixup BeagleBone A5+ quirk

commit 1a88d5eee2ef2ad1d3c4e32043e9c4c5347d4fc1 upstream.

BeagleBone A5+ devices ended up getting shipped with the
'BeagleBone/XDS100V2' product string, and not XDS100 like it
was agreed, so adjust the quirk to match.

For details, see the thread on the beagle list:

https://groups.google.com/forum/#!msg/beagleboard/zrFPew9_Wvo/ibWr1-eE8JwJ

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agoUSB: ftdi_sio: Add support for Newport AGILIS motor drivers
Martin Teichmann [Wed, 21 Nov 2012 15:45:07 +0000 (16:45 +0100)]
USB: ftdi_sio: Add support for Newport AGILIS motor drivers

commit d7e14b375b40c04cd735b115713043b69a2c68ac upstream.

The Newport AGILIS model AG-UC8 compact piezo motor controller
(http://search.newport.com/?q=*&x2=sku&q2=AG-UC8)
is yet another device using an FTDI USB-to-serial chip. It works
fine with the ftdi_sio driver when adding

  options ftdi-sio product=0x3000 vendor=0x104d

to modprobe.d. udevadm reports "Newport" as the manufacturer,
and "Agilis" as the product name.

Signed-off-by: Martin Teichmann <lkb.teichmann@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agoUSB: option: blacklist network interface on Huawei E173
Bjørn Mork [Sun, 25 Nov 2012 16:05:10 +0000 (17:05 +0100)]
USB: option: blacklist network interface on Huawei E173

commit f36446cf9bbebaa03a80d95cfeeafbaf68218249 upstream.

The Huawei E173 will normally appear as 12d1:1436 in Linux.  But
the modem has another mode with different device ID and a slightly
different set of descriptors. This is the mode used by Windows like
this:

  3Modem:      USB\VID_12D1&PID_140C&MI_00\6&3A1D2012&0&0000
  Networkcard: USB\VID_12D1&PID_140C&MI_01\6&3A1D2012&0&0001
  Appli.Inter: USB\VID_12D1&PID_140C&MI_02\6&3A1D2012&0&0002
  PC UI Inter: USB\VID_12D1&PID_140C&MI_03\6&3A1D2012&0&0003

All interfaces have the same ff/ff/ff class codes in this mode.
Blacklisting the network interface to allow it to be picked up by
the network driver.

Reported-by: Thomas Schäfer <tschaefer@t-online.de>
Signed-off-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agoUSB: add new zte 3g-dongle's pid to option.c
li.rui27@zte.com.cn [Tue, 20 Nov 2012 06:31:47 +0000 (14:31 +0800)]
USB: add new zte 3g-dongle's pid to option.c

commit 31b6a1048b7292efff8b5b53ae3d9d29adde385e upstream.

Signed-off-by: Rui li <li.rui27@zte.com.cn>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agox86: hpet: Fix masking of MSI interrupts
Jan Beulich [Fri, 2 Nov 2012 14:02:40 +0000 (14:02 +0000)]
x86: hpet: Fix masking of MSI interrupts

commit 6acf5a8c931da9d26c8dd77d784daaf07fa2bff0 upstream.

HPET_TN_FSB is not a proper mask bit; it merely toggles between MSI and
legacy interrupt delivery. The proper mask bit is HPET_TN_ENABLE, so
use both bits when (un)masking the interrupt.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Link: http://lkml.kernel.org/r/5093E09002000078000A60E6@nat28.tlf.novell.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agotmpfs: fix shared mempolicy leak
Mel Gorman [Wed, 5 Dec 2012 22:01:41 +0000 (14:01 -0800)]
tmpfs: fix shared mempolicy leak

commit 18a2f371f5edf41810f6469cb9be39931ef9deb9 upstream.

This fixes a regression in 3.7-rc, which has since gone into stable.

Commit 00442ad04a5e ("mempolicy: fix a memory corruption by refcount
imbalance in alloc_pages_vma()") changed get_vma_policy() to raise the
refcount on a shmem shared mempolicy; whereas shmem_alloc_page() went
on expecting alloc_page_vma() to drop the refcount it had acquired.
This deserves a rework: but for now fix the leak in shmem_alloc_page().

Hugh: shmem_swapin() did not need a fix, but surely it's clearer to use
the same refcounting there as in shmem_alloc_page(), delete its onstack
mempolicy, and the strange mpol_cond_copy() and __mpol_cond_copy() -
those were invented to let swapin_readahead() make an unknown number of
calls to alloc_pages_vma() with one mempolicy; but since 00442ad04a5e,
alloc_pages_vma() has kept refcount in balance, so now no problem.

Reported-and-tested-by: Tommi Rantala <tt.rantala@gmail.com>
Signed-off-by: Mel Gorman <mgorman@suse.de>
Signed-off-by: Hugh Dickins <hughd@google.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agotelephony: ijx: buffer overflow in ixj_write_cid()
Dan Carpenter [Mon, 3 Dec 2012 19:05:12 +0000 (22:05 +0300)]
telephony: ijx: buffer overflow in ixj_write_cid()

[Not needed in 3.8 or newer as this driver is removed there. - gregkh]

We get this from user space and nothing has been done to ensure that
these strings are NUL terminated.

Reported-by: Chen Gang <gang.chen@asianux.com>
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agox86,AMD: Power driver support for AMD's family 16h processors
Boris Ostrovsky [Wed, 5 Dec 2012 11:12:42 +0000 (06:12 -0500)]
x86,AMD: Power driver support for AMD's family 16h processors

commit 22e32f4f57778ebc6e17812fa3008361c05d64f9 upstream.

Add family 16h PCI ID to AMD's power driver to allow it report
power consumption on these processors.

Signed-off-by: Boris Ostrovsky <boris.ostrovsky@amd.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agomm: dmapool: use provided gfp flags for all dma_alloc_coherent() calls
Marek Szyprowski [Wed, 7 Nov 2012 14:37:07 +0000 (15:37 +0100)]
mm: dmapool: use provided gfp flags for all dma_alloc_coherent() calls

commit 387870f2d6d679746020fa8e25ef786ff338dc98 upstream.

dmapool always calls dma_alloc_coherent() with GFP_ATOMIC flag,
regardless the flags provided by the caller. This causes excessive
pruning of emergency memory pools without any good reason. Additionaly,
on ARM architecture any driver which is using dmapools will sooner or
later  trigger the following error:
"ERROR: 256 KiB atomic DMA coherent pool is too small!
Please increase it with coherent_pool= kernel parameter!".
Increasing the coherent pool size usually doesn't help much and only
delays such error, because all GFP_ATOMIC DMA allocations are always
served from the special, very limited memory pool.

This patch changes the dmapool code to correctly use gfp flags provided
by the dmapool caller.

Reported-by: Soeren Moch <smoch@web.de>
Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Tested-by: Andrew Lunn <andrew@lunn.ch>
Tested-by: Soeren Moch <smoch@web.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agoworkqueue: convert BUG_ON()s in __queue_delayed_work() to WARN_ON_ONCE()s
Tejun Heo [Tue, 4 Dec 2012 15:40:39 +0000 (07:40 -0800)]
workqueue: convert BUG_ON()s in __queue_delayed_work() to WARN_ON_ONCE()s

commit fc4b514f2727f74a4587c31db87e0e93465518c3 upstream.

8852aac25e ("workqueue: mod_delayed_work_on() shouldn't queue timer on
0 delay") unexpectedly uncovered a very nasty abuse of delayed_work in
megaraid - it allocated work_struct, casted it to delayed_work and
then pass that into queue_delayed_work().

Previously, this was okay because 0 @delay short-circuited to
queue_work() before doing anything with delayed_work.  8852aac25e
moved 0 @delay test into __queue_delayed_work() after sanity check on
delayed_work making megaraid trigger BUG_ON().

Although megaraid is already fixed by c1d390d8e6 ("megaraid: fix
BUG_ON() from incorrect use of delayed work"), this patch converts
BUG_ON()s in __queue_delayed_work() to WARN_ON_ONCE()s so that such
abusers, if there are more, trigger warning but don't crash the
machine.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Xiaotian Feng <xtfeng@gmail.com>
Signed-off-by: Shuah Khan <shuah.khan@hp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agopowerpc/ptrace: Fix build with gcc 4.6
Benjamin Herrenschmidt [Mon, 26 Sep 2011 19:37:57 +0000 (19:37 +0000)]
powerpc/ptrace: Fix build with gcc 4.6

commit e69b742a6793dc5bf16f6eedca534d4bc10d68b2 upstream.

gcc (rightfully) complains that we are accessing beyond the
end of the fpr array (we do, to access the fpscr).

The only sane thing to do (whether anything in that code can be
called remotely sane is debatable) is to special case fpscr and
handle it as a separate statement.

I initially tried to do it it by making the array access conditional
to index < PT_FPSCR and using a 3rd else leg but for some reason gcc
was unable to understand it and still spewed the warning.

So I ended up with something a tad more intricated but it seems to
build on 32-bit and on 64-bit with and without VSX.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agoARM: 7566/1: vfp: fix save and restore when running on pre-VFPv3 and CONFIG_VFPv3 set
Paul Walmsley [Tue, 23 Oct 2012 19:32:59 +0000 (20:32 +0100)]
ARM: 7566/1: vfp: fix save and restore when running on pre-VFPv3 and CONFIG_VFPv3 set

commit 39141ddfb63a664f26d3f42f64ee386e879b492c upstream.

After commit 846a136881b8f73c1f74250bf6acfaa309cab1f2 ("ARM: vfp: fix
saving d16-d31 vfp registers on v6+ kernels"), the OMAP 2430SDP board
started crashing during boot with omap2plus_defconfig:

[    3.875122] mmcblk0: mmc0:e624 SD04G 3.69 GiB
[    3.915954]  mmcblk0: p1
[    4.086639] Internal error: Oops - undefined instruction: 0 [#1] SMP ARM
[    4.093719] Modules linked in:
[    4.096954] CPU: 0    Not tainted  (3.6.0-02232-g759e00b #570)
[    4.103149] PC is at vfp_reload_hw+0x1c/0x44
[    4.107666] LR is at __und_usr_fault_32+0x0/0x8

It turns out that the context save/restore fix unmasked a latent bug
in commit 5aaf254409f8d58229107b59507a8235b715a960 ("ARM: 6203/1: Make
VFPv3 usable on ARMv6").  When CONFIG_VFPv3 is set, but the kernel is
booted on a pre-VFPv3 core, the code attempts to save and restore the
d16-d31 VFP registers.  These are only present on non-D16 VFPv3+, so
this results in an undefined instruction exception.  The code didn't
crash before commit 846a136 because the save and restore code was
only touching d0-d15, present on all VFP.

Fix by implementing a request from Russell King to add a new HWCAP
flag that affirmatively indicates the presence of the d16-d31
registers:

   http://marc.info/?l=linux-arm-kernel&m=135013547905283&w=2

and some feedback from Måns to clarify the name of the HWCAP flag.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Dave Martin <dave.martin@linaro.org>
Cc: Måns Rullgård <mans.rullgard@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Cc: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agoadc-battery: otg cannot identification
许盛飞 [Mon, 17 Dec 2012 07:53:04 +0000 (15:53 +0800)]
adc-battery: otg cannot identification

11 years agousb: complete urb when data toggle error occurred
lyz [Mon, 17 Dec 2012 08:31:58 +0000 (16:31 +0800)]
usb: complete urb when data toggle error occurred

11 years agork3066b: m701: remove board-rk3066b-m701-key.c
黄涛 [Mon, 17 Dec 2012 08:02:33 +0000 (16:02 +0800)]
rk3066b: m701: remove board-rk3066b-m701-key.c

11 years agork2928: usb: fix rk2928/2926 usb phy non-driving err
lyz [Mon, 17 Dec 2012 08:00:21 +0000 (16:00 +0800)]
rk2928: usb: fix rk2928/2926 usb phy non-driving err

11 years agork30: sdk: inline board-rk30-sdk-key.c and remove board-rk30-sdk-key.c
黄涛 [Mon, 17 Dec 2012 07:38:01 +0000 (15:38 +0800)]
rk30: sdk: inline board-rk30-sdk-key.c and remove board-rk30-sdk-key.c

11 years agork: key.h add EV_ENCALL EV_MENU PRESS_LEV_LOW/HIGH define
黄涛 [Mon, 17 Dec 2012 07:31:03 +0000 (15:31 +0800)]
rk: key.h add EV_ENCALL EV_MENU PRESS_LEV_LOW/HIGH define

11 years agork30: remove board-rk3066b-sdk-sdmmc.c, which is incompatible with latest sdmmc driver
黄涛 [Mon, 17 Dec 2012 07:06:10 +0000 (15:06 +0800)]
rk30: remove board-rk3066b-sdk-sdmmc.c, which is incompatible with latest sdmmc driver

11 years agork30: remove board-rk3108-tb-sdmmc.c, which is incompatible with latest sdmmc driver
黄涛 [Mon, 17 Dec 2012 07:05:48 +0000 (15:05 +0800)]
rk30: remove board-rk3108-tb-sdmmc.c, which is incompatible with latest sdmmc driver

11 years agork30: remove board-rk30-phone-sdmmc.c, which is incompatible with latest sdmmc driver
黄涛 [Mon, 17 Dec 2012 07:05:20 +0000 (15:05 +0800)]
rk30: remove board-rk30-phone-sdmmc.c, which is incompatible with latest sdmmc driver

11 years agork30: pm: printk while dump gpio inten and refactor rk30_pm_dump_irq
黄涛 [Mon, 17 Dec 2012 06:19:49 +0000 (14:19 +0800)]
rk30: pm: printk while dump gpio inten and refactor rk30_pm_dump_irq

11 years agork: fiq_debugger: add last_kmsg command
黄涛 [Mon, 17 Dec 2012 06:16:50 +0000 (14:16 +0800)]
rk: fiq_debugger: add last_kmsg command

11 years agork: last_log: version 2.0, map log buf as noncached, add last_log_get API
黄涛 [Mon, 17 Dec 2012 03:49:56 +0000 (11:49 +0800)]
rk: last_log: version 2.0, map log buf as noncached, add last_log_get API

11 years agosolve board-rk2928-sdk-sdmmc.c make error
hwg [Mon, 17 Dec 2012 03:47:48 +0000 (11:47 +0800)]
solve board-rk2928-sdk-sdmmc.c make error

11 years agork2928: update process of pll power up when resume from deep sleep, solve the problem...
chenxing [Mon, 17 Dec 2012 02:19:18 +0000 (10:19 +0800)]
rk2928: update process of pll power up when resume from deep sleep, solve the problem: pll some times can not lock when resume from deep sleep mode

11 years agoRK292X:add VPU dvfs
dkl [Sat, 15 Dec 2012 02:54:22 +0000 (10:54 +0800)]
RK292X:add VPU dvfs

11 years agork3168:modified mmc config to fit new sdmmc interface
hxy [Fri, 14 Dec 2012 10:05:54 +0000 (18:05 +0800)]
rk3168:modified mmc config to fit new sdmmc interface

11 years ago3G dongle support
xxh [Fri, 14 Dec 2012 09:25:52 +0000 (17:25 +0800)]
3G dongle support

11 years agoRevert "3G dongle support"
xkd [Fri, 14 Dec 2012 08:55:56 +0000 (16:55 +0800)]
Revert "3G dongle support"

This reverts commit d1f418ba3b239ab9cf5d6de84800ab15415240ca.

11 years agoMerge branch 'develop-3.0' of ssh://10.10.10.29/rk/kernel into develop-3.0
hxy [Fri, 14 Dec 2012 08:21:58 +0000 (16:21 +0800)]
Merge branch 'develop-3.0' of ssh://10.10.10.29/rk/kernel into develop-3.0

11 years agork3168:add rk3168 top board config
hxy [Fri, 14 Dec 2012 08:18:51 +0000 (16:18 +0800)]
rk3168:add rk3168 top board config

11 years agoRevert "Support more 3G dongle VID PID"
xkd [Fri, 14 Dec 2012 08:03:05 +0000 (16:03 +0800)]
Revert "Support more 3G dongle VID PID"

This reverts commit 1dc2de3109aa68d4e4a98f7f7a432db39e6c1ac1.

11 years agoSupport more 3G dongle VID PID
xxh [Fri, 14 Dec 2012 07:50:34 +0000 (15:50 +0800)]
Support more 3G dongle VID PID

11 years ago3G dongle support
xxh [Fri, 14 Dec 2012 03:15:41 +0000 (11:15 +0800)]
3G dongle support

11 years agoMerge remote-tracking branch 'stable/linux-3.0.y' into develop-3.0
黄涛 [Wed, 12 Dec 2012 09:18:39 +0000 (17:18 +0800)]
Merge remote-tracking branch 'stable/linux-3.0.y' into develop-3.0

Conflicts:
Makefile

11 years agork30: fix wakeup bug when switch to 32K
黄涛 [Wed, 12 Dec 2012 08:42:17 +0000 (16:42 +0800)]
rk30: fix wakeup bug when switch to 32K