]> git.karo-electronics.de Git - karo-tx-linux.git/log
karo-tx-linux.git
11 years agoMerge remote-tracking branch 'selinux/master'
Stephen Rothwell [Fri, 14 Sep 2012 03:52:37 +0000 (13:52 +1000)]
Merge remote-tracking branch 'selinux/master'

11 years agoMerge remote-tracking branch 'security/next'
Stephen Rothwell [Fri, 14 Sep 2012 03:48:12 +0000 (13:48 +1000)]
Merge remote-tracking branch 'security/next'

11 years agoMerge remote-tracking branch 'regulator/for-next'
Stephen Rothwell [Fri, 14 Sep 2012 03:46:32 +0000 (13:46 +1000)]
Merge remote-tracking branch 'regulator/for-next'

Conflicts:
Documentation/devicetree/bindings/regulator/tps6586x.txt

11 years agoMerge remote-tracking branch 'omap_dss2/for-next'
Stephen Rothwell [Fri, 14 Sep 2012 03:44:50 +0000 (13:44 +1000)]
Merge remote-tracking branch 'omap_dss2/for-next'

11 years agoMerge remote-tracking branch 'fbdev/fbdev-next'
Stephen Rothwell [Fri, 14 Sep 2012 03:43:10 +0000 (13:43 +1000)]
Merge remote-tracking branch 'fbdev/fbdev-next'

11 years agoMerge remote-tracking branch 'battery/master'
Stephen Rothwell [Fri, 14 Sep 2012 03:41:31 +0000 (13:41 +1000)]
Merge remote-tracking branch 'battery/master'

11 years agoMerge remote-tracking branch 'mfd/for-next'
Stephen Rothwell [Fri, 14 Sep 2012 03:34:29 +0000 (13:34 +1000)]
Merge remote-tracking branch 'mfd/for-next'

Conflicts:
Documentation/devicetree/bindings/regulator/tps6586x.txt

11 years agoMerge remote-tracking branch 'md/for-next'
Stephen Rothwell [Fri, 14 Sep 2012 03:32:47 +0000 (13:32 +1000)]
Merge remote-tracking branch 'md/for-next'

11 years agoMerge remote-tracking branch 'slab/for-next'
Stephen Rothwell [Fri, 14 Sep 2012 03:31:10 +0000 (13:31 +1000)]
Merge remote-tracking branch 'slab/for-next'

11 years agoMerge remote-tracking branch 'kgdb/kgdb-next'
Stephen Rothwell [Fri, 14 Sep 2012 03:29:29 +0000 (13:29 +1000)]
Merge remote-tracking branch 'kgdb/kgdb-next'

11 years agoMerge remote-tracking branch 'mmc/mmc-next'
Stephen Rothwell [Fri, 14 Sep 2012 03:27:49 +0000 (13:27 +1000)]
Merge remote-tracking branch 'mmc/mmc-next'

11 years agoMerge branch 'quilt/device-mapper'
Stephen Rothwell [Fri, 14 Sep 2012 03:26:02 +0000 (13:26 +1000)]
Merge branch 'quilt/device-mapper'

11 years agoMerge remote-tracking branch 'block/for-next'
Stephen Rothwell [Fri, 14 Sep 2012 03:19:34 +0000 (13:19 +1000)]
Merge remote-tracking branch 'block/for-next'

11 years agoMerge commit 'refs/next/20120913/cgroup'
Stephen Rothwell [Fri, 14 Sep 2012 03:14:32 +0000 (13:14 +1000)]
Merge commit 'refs/next/20120913/cgroup'

11 years agoMerge remote-tracking branch 'input-mt/for-next'
Stephen Rothwell [Fri, 14 Sep 2012 01:39:28 +0000 (11:39 +1000)]
Merge remote-tracking branch 'input-mt/for-next'

11 years agoMerge remote-tracking branch 'input/next'
Stephen Rothwell [Fri, 14 Sep 2012 01:37:47 +0000 (11:37 +1000)]
Merge remote-tracking branch 'input/next'

11 years agoMerge branch 'quilt/rr'
Stephen Rothwell [Fri, 14 Sep 2012 01:31:48 +0000 (11:31 +1000)]
Merge branch 'quilt/rr'

Conflicts:
arch/alpha/Kconfig
arch/mips/kernel/module.c
arch/s390/Kconfig
arch/xtensa/Kconfig

11 years agoMerge remote-tracking branch 'sound-asoc/for-next'
Stephen Rothwell [Fri, 14 Sep 2012 01:30:08 +0000 (11:30 +1000)]
Merge remote-tracking branch 'sound-asoc/for-next'

11 years agoMerge remote-tracking branch 'sound/for-next'
Stephen Rothwell [Fri, 14 Sep 2012 01:28:19 +0000 (11:28 +1000)]
Merge remote-tracking branch 'sound/for-next'

11 years agoMerge remote-tracking branch 'drm/drm-next'
Stephen Rothwell [Fri, 14 Sep 2012 01:26:28 +0000 (11:26 +1000)]
Merge remote-tracking branch 'drm/drm-next'

11 years agoMerge remote-tracking branch 'crypto/master'
Stephen Rothwell [Fri, 14 Sep 2012 01:24:45 +0000 (11:24 +1000)]
Merge remote-tracking branch 'crypto/master'

Conflicts:
crypto/Kconfig

11 years agoMerge remote-tracking branch 'l2-mtd/master'
Stephen Rothwell [Fri, 14 Sep 2012 01:23:07 +0000 (11:23 +1000)]
Merge remote-tracking branch 'l2-mtd/master'

11 years agoMerge remote-tracking branch 'mtd/master'
Stephen Rothwell [Fri, 14 Sep 2012 01:21:25 +0000 (11:21 +1000)]
Merge remote-tracking branch 'mtd/master'

11 years agoMerge remote-tracking branch 'bluetooth/master'
Stephen Rothwell [Fri, 14 Sep 2012 01:19:49 +0000 (11:19 +1000)]
Merge remote-tracking branch 'bluetooth/master'

11 years agoMerge remote-tracking branch 'wireless-next/master'
Stephen Rothwell [Fri, 14 Sep 2012 01:17:57 +0000 (11:17 +1000)]
Merge remote-tracking branch 'wireless-next/master'

11 years agoMerge remote-tracking branch 'net-next/master'
Stephen Rothwell [Fri, 14 Sep 2012 01:01:39 +0000 (11:01 +1000)]
Merge remote-tracking branch 'net-next/master'

Conflicts:
net/netfilter/nfnetlink_log.c
net/netfilter/xt_LOG.c
net/socket.c

11 years agoMerge remote-tracking branch 'slave-dma/next'
Stephen Rothwell [Fri, 14 Sep 2012 00:44:43 +0000 (10:44 +1000)]
Merge remote-tracking branch 'slave-dma/next'

11 years agoMerge remote-tracking branch 'target-updates/for-next'
Stephen Rothwell [Fri, 14 Sep 2012 00:42:53 +0000 (10:42 +1000)]
Merge remote-tracking branch 'target-updates/for-next'

11 years agoMerge remote-tracking branch 'scsi/for-next'
Stephen Rothwell [Fri, 14 Sep 2012 00:41:08 +0000 (10:41 +1000)]
Merge remote-tracking branch 'scsi/for-next'

11 years agoMerge remote-tracking branch 'dlm/next'
Stephen Rothwell [Fri, 14 Sep 2012 00:39:30 +0000 (10:39 +1000)]
Merge remote-tracking branch 'dlm/next'

11 years agoMerge remote-tracking branch 'ubi/linux-next'
Stephen Rothwell [Fri, 14 Sep 2012 00:37:53 +0000 (10:37 +1000)]
Merge remote-tracking branch 'ubi/linux-next'

11 years agoMerge remote-tracking branch 'thermal/next'
Stephen Rothwell [Fri, 14 Sep 2012 00:36:15 +0000 (10:36 +1000)]
Merge remote-tracking branch 'thermal/next'

11 years agoMerge remote-tracking branch 'cpuidle/cpuidle-next'
Stephen Rothwell [Fri, 14 Sep 2012 00:36:08 +0000 (10:36 +1000)]
Merge remote-tracking branch 'cpuidle/cpuidle-next'

Conflicts:
drivers/cpuidle/coupled.c
include/linux/cpuidle.h

11 years agoMerge remote-tracking branch 'pstore/master'
Stephen Rothwell [Fri, 14 Sep 2012 00:34:22 +0000 (10:34 +1000)]
Merge remote-tracking branch 'pstore/master'

11 years agoMerge remote-tracking branch 'libata/NEXT'
Stephen Rothwell [Fri, 14 Sep 2012 00:32:35 +0000 (10:32 +1000)]
Merge remote-tracking branch 'libata/NEXT'

11 years agoMerge remote-tracking branch 'kconfig/for-next'
Stephen Rothwell [Fri, 14 Sep 2012 00:31:03 +0000 (10:31 +1000)]
Merge remote-tracking branch 'kconfig/for-next'

11 years agoMerge remote-tracking branch 'kbuild/for-next'
Stephen Rothwell [Fri, 14 Sep 2012 00:29:22 +0000 (10:29 +1000)]
Merge remote-tracking branch 'kbuild/for-next'

11 years agoMerge remote-tracking branch 'v4l-dvb/master'
Stephen Rothwell [Fri, 14 Sep 2012 00:27:22 +0000 (10:27 +1000)]
Merge remote-tracking branch 'v4l-dvb/master'

Conflicts:
arch/arm/mach-imx/mach-imx27_visstrim_m10.c

11 years agoMerge remote-tracking branch 'hwmon-staging/hwmon-next'
Stephen Rothwell [Fri, 14 Sep 2012 00:25:47 +0000 (10:25 +1000)]
Merge remote-tracking branch 'hwmon-staging/hwmon-next'

11 years agoMerge branch 'quilt/jdelvare-hwmon'
Stephen Rothwell [Fri, 14 Sep 2012 00:24:20 +0000 (10:24 +1000)]
Merge branch 'quilt/jdelvare-hwmon'

11 years agoMerge remote-tracking branch 'i2c-embedded/i2c-embedded/for-next'
Stephen Rothwell [Fri, 14 Sep 2012 00:22:54 +0000 (10:22 +1000)]
Merge remote-tracking branch 'i2c-embedded/i2c-embedded/for-next'

11 years agoMerge branch 'quilt/i2c'
Stephen Rothwell [Fri, 14 Sep 2012 00:21:27 +0000 (10:21 +1000)]
Merge branch 'quilt/i2c'

11 years agoMerge remote-tracking branch 'hid/for-next'
Stephen Rothwell [Fri, 14 Sep 2012 00:19:51 +0000 (10:19 +1000)]
Merge remote-tracking branch 'hid/for-next'

Conflicts:
drivers/hid/usbhid/hid-quirks.c

11 years agoMerge remote-tracking branch 'pci/next'
Stephen Rothwell [Fri, 14 Sep 2012 00:16:31 +0000 (10:16 +1000)]
Merge remote-tracking branch 'pci/next'

11 years agoMerge remote-tracking branch 'vfs/for-next'
Stephen Rothwell [Fri, 14 Sep 2012 00:12:09 +0000 (10:12 +1000)]
Merge remote-tracking branch 'vfs/for-next'

11 years agoMerge remote-tracking branch 'xfs/for-next'
Stephen Rothwell [Fri, 14 Sep 2012 00:10:31 +0000 (10:10 +1000)]
Merge remote-tracking branch 'xfs/for-next'

11 years agoMerge remote-tracking branch 'ubifs/linux-next'
Stephen Rothwell [Fri, 14 Sep 2012 00:09:00 +0000 (10:09 +1000)]
Merge remote-tracking branch 'ubifs/linux-next'

11 years agoMerge remote-tracking branch 'v9fs/for-next'
Stephen Rothwell [Fri, 14 Sep 2012 00:07:33 +0000 (10:07 +1000)]
Merge remote-tracking branch 'v9fs/for-next'

11 years agoMerge remote-tracking branch 'ocfs2/linux-next'
Stephen Rothwell [Fri, 14 Sep 2012 00:05:57 +0000 (10:05 +1000)]
Merge remote-tracking branch 'ocfs2/linux-next'

11 years agoMerge remote-tracking branch 'nfsd/nfsd-next'
Stephen Rothwell [Fri, 14 Sep 2012 00:04:23 +0000 (10:04 +1000)]
Merge remote-tracking branch 'nfsd/nfsd-next'

11 years agoMerge remote-tracking branch 'nfs/linux-next'
Stephen Rothwell [Fri, 14 Sep 2012 00:02:55 +0000 (10:02 +1000)]
Merge remote-tracking branch 'nfs/linux-next'

11 years agoMerge remote-tracking branch 'logfs/master'
Stephen Rothwell [Fri, 14 Sep 2012 00:01:29 +0000 (10:01 +1000)]
Merge remote-tracking branch 'logfs/master'

11 years agoMerge remote-tracking branch 'gfs2/master'
Stephen Rothwell [Fri, 14 Sep 2012 00:00:04 +0000 (10:00 +1000)]
Merge remote-tracking branch 'gfs2/master'

11 years agoMerge remote-tracking branch 'fuse/for-next'
Stephen Rothwell [Thu, 13 Sep 2012 23:58:28 +0000 (09:58 +1000)]
Merge remote-tracking branch 'fuse/for-next'

11 years agoMerge remote-tracking branch 'ext4/dev'
Stephen Rothwell [Thu, 13 Sep 2012 23:56:57 +0000 (09:56 +1000)]
Merge remote-tracking branch 'ext4/dev'

11 years agoMerge remote-tracking branch 'ext3/for_next'
Stephen Rothwell [Thu, 13 Sep 2012 23:55:25 +0000 (09:55 +1000)]
Merge remote-tracking branch 'ext3/for_next'

11 years agoMerge remote-tracking branch 'cifs/for-next'
Stephen Rothwell [Thu, 13 Sep 2012 23:53:53 +0000 (09:53 +1000)]
Merge remote-tracking branch 'cifs/for-next'

11 years agoMerge remote-tracking branch 'xtensa/for_next'
Stephen Rothwell [Thu, 13 Sep 2012 23:52:24 +0000 (09:52 +1000)]
Merge remote-tracking branch 'xtensa/for_next'

11 years agoMerge remote-tracking branch 'unicore32/unicore32'
Stephen Rothwell [Thu, 13 Sep 2012 23:50:55 +0000 (09:50 +1000)]
Merge remote-tracking branch 'unicore32/unicore32'

11 years agoMerge remote-tracking branch 'sparc-next/master'
Stephen Rothwell [Thu, 13 Sep 2012 23:49:27 +0000 (09:49 +1000)]
Merge remote-tracking branch 'sparc-next/master'

11 years agoMerge remote-tracking branch 'sh/sh-latest'
Stephen Rothwell [Thu, 13 Sep 2012 23:47:58 +0000 (09:47 +1000)]
Merge remote-tracking branch 'sh/sh-latest'

11 years agoMerge remote-tracking branch 's390/features'
Stephen Rothwell [Thu, 13 Sep 2012 23:42:51 +0000 (09:42 +1000)]
Merge remote-tracking branch 's390/features'

11 years agoMerge remote-tracking branch 'galak/next'
Stephen Rothwell [Thu, 13 Sep 2012 23:40:23 +0000 (09:40 +1000)]
Merge remote-tracking branch 'galak/next'

11 years agoMerge remote-tracking branch 'mpc5xxx/next'
Stephen Rothwell [Thu, 13 Sep 2012 23:38:58 +0000 (09:38 +1000)]
Merge remote-tracking branch 'mpc5xxx/next'

11 years agoMerge remote-tracking branch 'powerpc/next'
Stephen Rothwell [Thu, 13 Sep 2012 23:36:25 +0000 (09:36 +1000)]
Merge remote-tracking branch 'powerpc/next'

11 years agoMerge remote-tracking branch 'openrisc/for-upstream'
Stephen Rothwell [Thu, 13 Sep 2012 23:34:58 +0000 (09:34 +1000)]
Merge remote-tracking branch 'openrisc/for-upstream'

11 years agoMerge remote-tracking branch 'mips/mips-for-linux-next'
Stephen Rothwell [Thu, 13 Sep 2012 23:33:31 +0000 (09:33 +1000)]
Merge remote-tracking branch 'mips/mips-for-linux-next'

11 years agoMerge remote-tracking branch 'm68knommu/for-next'
Stephen Rothwell [Thu, 13 Sep 2012 23:32:07 +0000 (09:32 +1000)]
Merge remote-tracking branch 'm68knommu/for-next'

11 years agoMerge remote-tracking branch 'm68k/for-next'
Stephen Rothwell [Thu, 13 Sep 2012 23:30:41 +0000 (09:30 +1000)]
Merge remote-tracking branch 'm68k/for-next'

11 years agoMerge remote-tracking branch 'ia64/next'
Stephen Rothwell [Thu, 13 Sep 2012 23:29:13 +0000 (09:29 +1000)]
Merge remote-tracking branch 'ia64/next'

11 years agoMerge remote-tracking branch 'cris/for-next'
Stephen Rothwell [Thu, 13 Sep 2012 23:27:42 +0000 (09:27 +1000)]
Merge remote-tracking branch 'cris/for-next'

11 years agoMerge remote-tracking branch 'arm64/upstream'
Stephen Rothwell [Thu, 13 Sep 2012 23:22:35 +0000 (09:22 +1000)]
Merge remote-tracking branch 'arm64/upstream'

11 years agoMerge remote-tracking branch 'arm-perf/for-next/perf'
Stephen Rothwell [Thu, 13 Sep 2012 23:21:05 +0000 (09:21 +1000)]
Merge remote-tracking branch 'arm-perf/for-next/perf'

Conflicts:
arch/arm/kernel/hw_breakpoint.c

11 years agoMerge remote-tracking branch 'arm/for-next'
Stephen Rothwell [Thu, 13 Sep 2012 23:19:35 +0000 (09:19 +1000)]
Merge remote-tracking branch 'arm/for-next'

11 years agoMerge remote-tracking branch 'spi-current/spi/merge'
Stephen Rothwell [Thu, 13 Sep 2012 23:12:37 +0000 (09:12 +1000)]
Merge remote-tracking branch 'spi-current/spi/merge'

11 years agoMerge remote-tracking branch 'devicetree-current/devicetree/merge'
Stephen Rothwell [Thu, 13 Sep 2012 23:12:36 +0000 (09:12 +1000)]
Merge remote-tracking branch 'devicetree-current/devicetree/merge'

11 years agoMerge remote-tracking branch 'staging.current/staging-linus'
Stephen Rothwell [Thu, 13 Sep 2012 23:12:25 +0000 (09:12 +1000)]
Merge remote-tracking branch 'staging.current/staging-linus'

11 years agoMerge remote-tracking branch 'usb.current/usb-linus'
Stephen Rothwell [Thu, 13 Sep 2012 23:12:24 +0000 (09:12 +1000)]
Merge remote-tracking branch 'usb.current/usb-linus'

11 years agoMerge remote-tracking branch 'tty.current/tty-linus'
Stephen Rothwell [Thu, 13 Sep 2012 23:12:23 +0000 (09:12 +1000)]
Merge remote-tracking branch 'tty.current/tty-linus'

11 years agoMerge remote-tracking branch 'driver-core.current/driver-core-linus'
Stephen Rothwell [Thu, 13 Sep 2012 23:12:22 +0000 (09:12 +1000)]
Merge remote-tracking branch 'driver-core.current/driver-core-linus'

11 years agoMerge remote-tracking branch 'wireless/master'
Stephen Rothwell [Thu, 13 Sep 2012 23:12:21 +0000 (09:12 +1000)]
Merge remote-tracking branch 'wireless/master'

11 years agoMerge remote-tracking branch 'sound-current/for-linus'
Stephen Rothwell [Thu, 13 Sep 2012 23:12:19 +0000 (09:12 +1000)]
Merge remote-tracking branch 'sound-current/for-linus'

11 years agoMerge remote-tracking branch 'net/master'
Stephen Rothwell [Thu, 13 Sep 2012 23:12:18 +0000 (09:12 +1000)]
Merge remote-tracking branch 'net/master'

11 years agoMerge remote-tracking branch 'm68k-current/for-linus'
Stephen Rothwell [Thu, 13 Sep 2012 23:12:16 +0000 (09:12 +1000)]
Merge remote-tracking branch 'm68k-current/for-linus'

11 years agoA little thin discard code refactoring in preparation for the next
Mike Snitzer [Thu, 13 Sep 2012 23:03:56 +0000 (09:03 +1000)]
A little thin discard code refactoring in preparation for the next
patch. Use bools instead of unsigned for features.

No functional changes.

Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Joe Thornber <ejt@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
11 years agoWhen there are no paths and multipath receives an ioctl, it waits until
Mike Snitzer [Thu, 13 Sep 2012 23:03:56 +0000 (09:03 +1000)]
When there are no paths and multipath receives an ioctl, it waits until
a path becomes available.  This behaviour is incorrect if the
"queue_if_no_path" setting was not specified, as then the ioctl should
be rejected immediately, which this patch now does.

commit 35991652b ("dm mpath: allow ioctls to trigger pg init") should
have checked if queue_if_no_path was configured before queueing IO.

Checking for the queue_if_no_path feature, like is done in map_io(),
allows the following table load to work without blocking in the
multipath_ioctl retry loop:

  echo "0 1024 multipath 0 0 0 0" | dmsetup create mpath_nodevs

Without this fix the multipath_ioctl will block with the following stack
trace:

  blkid           D 0000000000000002     0 23936      1 0x00000000
   ffff8802b89e5cd8 0000000000000082 ffff8802b89e5fd8 0000000000012440
   ffff8802b89e4010 0000000000012440 0000000000012440 0000000000012440
   ffff8802b89e5fd8 0000000000012440 ffff88030c2aab30 ffff880325794040
  Call Trace:
   [<ffffffff814ce099>] schedule+0x29/0x70
   [<ffffffff814cc312>] schedule_timeout+0x182/0x2e0
   [<ffffffff8104dee0>] ? lock_timer_base+0x70/0x70
   [<ffffffff814cc48e>] schedule_timeout_uninterruptible+0x1e/0x20
   [<ffffffff8104f840>] msleep+0x20/0x30
   [<ffffffffa0000839>] multipath_ioctl+0x109/0x170 [dm_multipath]
   [<ffffffffa06bfb9c>] dm_blk_ioctl+0xbc/0xd0 [dm_mod]
   [<ffffffff8122a408>] __blkdev_driver_ioctl+0x28/0x30
   [<ffffffff8122a79e>] blkdev_ioctl+0xce/0x730
   [<ffffffff811970ac>] block_ioctl+0x3c/0x40
   [<ffffffff8117321c>] do_vfs_ioctl+0x8c/0x340
   [<ffffffff81166293>] ? sys_newfstat+0x33/0x40
   [<ffffffff81173571>] sys_ioctl+0xa1/0xb0
   [<ffffffff814d70a9>] system_call_fastpath+0x16/0x1b

Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Acked-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
11 years agoThe mpio dereference should be moved below the BUG_ON NULL test
Wei Yongjun [Thu, 13 Sep 2012 23:03:56 +0000 (09:03 +1000)]
The mpio dereference should be moved below the BUG_ON NULL test
in multipath_end_io().

spatch with a semantic match is used to found this.
(http://coccinelle.lip6.fr/)

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
11 years agoThis patch fixes sector_t overflow checking in dm-verity.
Mikulas Patocka [Thu, 13 Sep 2012 23:03:55 +0000 (09:03 +1000)]
This patch fixes sector_t overflow checking in dm-verity.

Without this patch, the code checks for overflow only if sector_t is
smaller than long long, not if sector_t and long long have the same size.

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
11 years agohwmon: (coretemp) Use get_online_cpus to avoid races involving CPU hotplug
Silas Boyd-Wickizer [Thu, 13 Sep 2012 23:03:54 +0000 (09:03 +1000)]
hwmon: (coretemp) Use get_online_cpus to avoid races involving CPU hotplug

coretemp_init loops with for_each_online_cpu, adding platform_devices
and sysfs interfaces, then calls register_hotcpu_notifier.  There is a
race if a CPU is offlined or onlined after the loop, but before
register_hotcpu_notifier.  The race might result in the absence of a
platform_device+sysfs interface for an online CPU, or the presence of
a platform_device+sysfs interface for an offline CPU.  A similar race
occurs during coretemp_exit, after the module calls
unregister_hotcpu_notifier, but before it unregisters all devices, a
CPU might offline and a device for an offline CPU will exist for a
short while.

This fix surrounds for_each_online_cpu and register_hotcpu_notifier
with get_online_cpus+put_online_cpus; and surrounds
unregister_hotcpu_notifier and device unregistering with
get_online_cpus+put_online_cpus.

Build tested.

Signed-off-by: Silas Boyd-Wickizer <sbw@mit.edu>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
11 years agohwmon: (via-cputemp) Use get_online_cpus to avoid races involving CPU hotplug
Silas Boyd-Wickizer [Thu, 13 Sep 2012 23:03:53 +0000 (09:03 +1000)]
hwmon: (via-cputemp) Use get_online_cpus to avoid races involving CPU hotplug

via_cputemp_init loops with for_each_online_cpu, adding
platform_devices, then calls register_hotcpu_notifier.  If a CPU is
offlined between the loop and register_hotcpu_notifier, then later
onlined, via_cputemp_device_add will attempt to add platform devices
with the same ID.  A similar race occurs during via_cputemp_exit,
after the module calls unregister_hotcpu_notifier, a CPU might offline
and a device will exist for a CPU that is offline.

This fix surrounds for_each_online_cpu and register_hotcpu_notifier
with get_online_cpus+put_online_cpus; and surrounds
unregister_hotcpu_notifier and device unregistering with
get_online_cpus+put_online_cpus.

Build tested.

Signed-off-by: Silas Boyd-Wickizer <sbw@mit.edu>
Acked-by: Harald Welte <laforge@gnumonks.org>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
11 years agoi2c: Make I2C available on UML
Peter Huewe [Thu, 13 Sep 2012 23:03:52 +0000 (09:03 +1000)]
i2c: Make I2C available on UML

Remove the global dependency of the I2C subsystem on HAS_IOMEM and
move the dependency to the i2c/busses submenu, with an exception for
i2c-stub.

The generic I2C part does not need to have HAS_IOMEM set and thus now
becomes available in UML, so the I2C subsystem can now be used, e.g.
by the i2c-stub driver, for development of I2C device drivers.

[JD: Some adjustments.]

Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
11 years agoi2c: Convert struct i2c_msg initialization to C99 format
Shubhrajyoti D [Thu, 13 Sep 2012 23:03:52 +0000 (09:03 +1000)]
i2c: Convert struct i2c_msg initialization to C99 format

Convert the struct i2c_msg initialization to C99 format. This makes
maintaining and editing the code simpler. Also helps once other fields
like transferred are added in future.

Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
11 years agoi2c-smbus: Convert kzalloc to devm_kzalloc
Julia Lawall [Thu, 13 Sep 2012 23:03:51 +0000 (09:03 +1000)]
i2c-smbus: Convert kzalloc to devm_kzalloc

Converting kzalloc to devm_kzalloc simplifies the code and ensures that the
result, alert, is freed after the irq allocated by the subsequent
devm_request_irq.  This in turn ensures that when an interrupt can be
triggered, the alert structure is still available.

The problem of a free after a devm_request_irq was found using the
following semantic match (http://coccinelle.lip6.fr/)

// <smpl>
@r exists@
expression e1,e2,x,a,b,c,d;
identifier free;
position p1,p2;
@@

  devm_request_irq@p1(e1,e2,...,x)
  ... when any
      when != e2 = a
      when != x = b
  if (...) {
    ... when != e2 = c
        when != x = d
    free@p2(...,x,...);
    ...
    return ...;
  }
// </smpl>

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
11 years agoi2c-i801: Support SMBus multiplexing on Asus Z8 series
Jean Delvare [Thu, 13 Sep 2012 23:03:51 +0000 (09:03 +1000)]
i2c-i801: Support SMBus multiplexing on Asus Z8 series

Add support for SMBus multiplexing on Asus Z8 motherboard series. On
these boards, the memory slots are behind a GPIO-controlled I2C
multiplexer. Models with 6 or 12 memory slots have 2 segments behind
the multiplexer, while models with 18 memory slots have 3 such
segments.

On these boards, only the memory slots are behind the multiplexer,
so it is possible to keep the autodetection mechanism.

The code is generic enough so it could work on other boards as long as
the multiplexer is controlled by GPIO pins. For other forms of
multiplexing (for example using an I2C device) additional code will be
needed.

Thanks to Asus for providing a board to develop and test this feature,
as well as all the technical information required.

At the moment, the GPIO driver must be loaded before the i2c-i801
driver, but I hope to solve this soon, using deferred probing on
the i2c-mux-gpio side.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
11 years agoi2c-mux: Add support for device auto-detection
Jean Delvare [Thu, 13 Sep 2012 23:03:51 +0000 (09:03 +1000)]
i2c-mux: Add support for device auto-detection

Let I2C bus segments behind multiplexers have a class. This allows for
device auto-detection on these segments. As long as parent segments
don't share the same class, it should be fine.

I implemented support in drivers i2c-mux-gpio and i2c-mux-pca954x. I
left i2c-mux-pca9541 and i2c-mux-pinctrl alone for the moment as I
don't know if this feature makes sense for the use cases of these
drivers.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: Peter Korsgaard <peter.korsgaard@barco.com>
Cc: David Daney <david.daney@cavium.com>
Cc: Michael Lawnick <ml.lawnick@gmx.de>
Cc: Rodolfo Giometti <giometti@linux.it>
11 years agoMerge branch 'next/p3/trace' into mips-for-linux-next
Ralf Baechle [Thu, 13 Sep 2012 22:23:33 +0000 (00:23 +0200)]
Merge branch 'next/p3/trace' into mips-for-linux-next

11 years agoMerge branch 'next/p1/for-linus' into mips-for-linux-next
Ralf Baechle [Thu, 13 Sep 2012 22:23:28 +0000 (00:23 +0200)]
Merge branch 'next/p1/for-linus' into mips-for-linux-next

11 years agoMerge branch 'rixi-3.7' of git://git.linux-mips.org/pub/scm/sjhill/linux-sjhill into...
Ralf Baechle [Thu, 13 Sep 2012 22:23:16 +0000 (00:23 +0200)]
Merge branch 'rixi-3.7' of git://git.linux-mips.org/pub/scm/sjhill/linux-sjhill into mips-for-linux-next

11 years agoMIPS: Replace 'kernel_uses_smartmips_rixi' with 'cpu_has_rixi'.
Steven J. Hill [Thu, 13 Sep 2012 21:51:46 +0000 (16:51 -0500)]
MIPS: Replace 'kernel_uses_smartmips_rixi' with 'cpu_has_rixi'.

Remove usage of the 'kernel_uses_smartmips_rixi' macro from all files
and use new 'cpu_has_rixi' instead.

Signed-off-by: Steven J. Hill <sjhill@mips.com>
Acked-by: David Daney <david.daney@cavium.com>
11 years agoMIPS: Add base architecture support for RI and XI.
Steven J. Hill [Thu, 13 Sep 2012 21:47:58 +0000 (16:47 -0500)]
MIPS: Add base architecture support for RI and XI.

Originally both Read Inhibit (RI) and Execute Inhibit (XI) were
supported by the TLB only for a SmartMIPS core. The MIPSr3(TM)
Architecture now defines an optional feature to implement these
TLB bits separately. Support for one or both features can be
checked by looking at the Config3.RXI bit.

Signed-off-by: Steven J. Hill <sjhill@mips.com>
Acked-by: David Daney <david.daney@cavium.com>