linux_old1/drivers
Erico Nunes d6760b14d4 i2c: dev: switch from register_chrdev to cdev API
i2c-dev had never moved away from the older register_chrdev interface to
implement its char device registration. The register_chrdev API has the
limitation of enabling only up to 256 i2c-dev busses to exist.

Large platforms with lots of i2c devices (i.e. pluggable transceivers)
with dedicated busses may have to exceed that limit.
In particular, there are also platforms making use of the i2c bus
multiplexing API, which instantiates a virtual bus for each possible
multiplexed selection.

This patch removes the register_chrdev usage and replaces it with the
less old cdev API, which takes away the 256 i2c-dev bus limitation.
It should not have any other impact for i2c bus drivers or user space.

This patch has been tested on qemu x86 and qemu powerpc platforms with
the aid of a module which adds and removes 5000 virtual i2c busses, as
well as validated on an existing powerpc hardware platform which makes
use of the i2c bus multiplexing API.
i2c-dev busses with device minor numbers larger than 256 have also been
validated to work with the existing i2c-tools.

Signed-off-by: Erico Nunes <erico.nunes@datacom.ind.br>
[wsa: kept includes sorted]
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2016-05-26 21:18:57 +02:00
..
accessibility
acpi MMC core: 2016-05-26 09:36:10 -07:00
amba
android
ata Merge branch 'for-4.7-dw' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata 2016-05-23 18:19:21 -07:00
atm
auxdisplay
base More power management updates for v4.7-rc1 2016-05-25 15:29:21 -07:00
bcma MTD updates for v4.7: 2016-05-24 11:00:20 -07:00
block zram: introduce per-device debug_stat sysfs node 2016-05-20 17:58:30 -07:00
bluetooth Bluetooth: Add USB ID 13D3:3487 to ath3k 2016-05-13 16:54:59 +02:00
bus Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2016-05-19 10:02:26 -07:00
cdrom
char Merge branch 'akpm' (patches from Andrew) 2016-05-20 22:31:33 -07:00
clk pwm: Changes for v4.7-rc1 2016-05-25 10:40:15 -07:00
clocksource Small release overall. 2016-05-19 11:27:09 -07:00
connector
cpufreq Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux 2016-05-26 09:23:43 -07:00
cpuidle cpuidle: Fix cpuidle_state_is_coupled() argument in cpuidle_enter() 2016-05-18 02:48:37 +02:00
crypto crypto: qat - change the adf_ctl_stop_devices to void 2016-05-13 17:30:18 +08:00
dax /dev/dax, core: file operations and dax-mmap 2016-05-20 22:02:55 -07:00
dca
devfreq
dio
dma dmaengine updates for 4.7 2016-05-19 11:47:18 -07:00
dma-buf
edac Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2016-05-17 17:05:30 -07:00
eisa
extcon
firewire
firmware driver core update for 4.7-rc1 2016-05-20 21:26:15 -07:00
fmc
fpga
gpio driver core update for 4.7-rc1 2016-05-20 21:26:15 -07:00
gpu pwm: Changes for v4.7-rc1 2016-05-25 10:40:15 -07:00
hid Merge branch 'for-4.7/wacom' into for-linus 2016-05-17 12:42:27 +02:00
hsi
hv
hwmon Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging 2016-05-26 09:48:23 -07:00
hwspinlock drivers/hwspinlock: use correct radix tree API 2016-05-20 17:58:30 -07:00
hwtracing Char / Misc driver update for 4.7-rc1 2016-05-20 21:20:31 -07:00
i2c i2c: dev: switch from register_chrdev to cdev API 2016-05-26 21:18:57 +02:00
ide
idle
iio Staging and IIO driver update for 4.7-rc1 2016-05-20 22:20:48 -07:00
infiniband Primary 4.7 merge window changes 2016-05-20 14:35:07 -07:00
input Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux 2016-05-26 09:23:43 -07:00
iommu Devicetree for 4.7: 2016-05-20 14:51:34 -07:00
ipack
irqchip irqchip: nps: add 64BIT dependency 2016-05-20 10:20:47 -07:00
isdn TTY and Serial driver update for 4.7-rc1 2016-05-20 20:57:27 -07:00
leds pwm: Changes for v4.7-rc1 2016-05-25 10:40:15 -07:00
lguest
lightnvm
macintosh
mailbox
mcb
md Merge tag 'md/4.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md 2016-05-19 17:25:13 -07:00
media Merge branch 'akpm' (patches from Andrew) 2016-05-19 20:00:06 -07:00
memory MTD updates for v4.7: 2016-05-24 11:00:20 -07:00
memstick drivers/memstick/core/mspro_block: use kmemdup 2016-05-23 17:04:14 -07:00
message SCSI misc on 20160517 2016-05-18 16:38:59 -07:00
mfd - New Drivers 2016-05-20 11:10:24 -07:00
misc Char / Misc driver update for 4.7-rc1 2016-05-20 21:20:31 -07:00
mmc MMC core: 2016-05-26 09:36:10 -07:00
mtd MTD updates for v4.7: 2016-05-24 11:00:20 -07:00
net Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc 2016-05-22 19:24:13 -07:00
nfc
ntb
nubus
nvdimm Merge branch 'for-4.7/dax' into libnvdimm-for-next 2016-05-21 12:33:04 -07:00
nvme Merge branch 'for-4.7/drivers' of git://git.kernel.dk/linux-block 2016-05-17 16:03:32 -07:00
nvmem
of MTD updates for v4.7: 2016-05-24 11:00:20 -07:00
oprofile
parisc
parport
pci Char / Misc driver update for 4.7-rc1 2016-05-20 21:20:31 -07:00
pcmcia
perf
phy USB patches for 4.7-rc1 2016-05-20 21:12:25 -07:00
pinctrl Pin control bulk changes for the v4.7 kernel cycle: 2016-05-19 12:50:56 -07:00
platform drivers/platform/x86/wmi.c: use generic UUID library 2016-05-20 17:58:30 -07:00
pnp driver core update for 4.7-rc1 2016-05-20 21:26:15 -07:00
power power supply and reset changes for the v4.7 series 2016-05-20 14:06:21 -07:00
powercap Power management material for v4.7-rc1 2016-05-16 19:17:22 -07:00
pps
ps3
ptp
pwm pwm: Changes for v4.7-rc1 2016-05-25 10:40:15 -07:00
rapidio
ras
regulator regulator: pwm: Use pwm_get_args() where appropriate 2016-05-17 14:45:02 +02:00
remoteproc remoteproc: Add additional crash reasons 2016-05-12 15:50:19 -07:00
reset
rpmsg
rtc rtc: tps6586x: rename so module can be autoloaded 2016-05-21 17:07:17 +02:00
s390 TTY and Serial driver update for 4.7-rc1 2016-05-20 20:57:27 -07:00
sbus openprom: fix warning 2016-05-20 18:33:37 -07:00
scsi Merge branch 'for-4.7-zac' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata 2016-05-23 17:53:39 -07:00
sfi
sh
sn
soc soc: mtk-pmic-wrap: avoid integer overflow warning 2016-05-19 15:20:24 +02:00
spi spi: Updates for v4.7 2016-05-24 11:12:32 -07:00
spmi
ssb
staging MTD updates for v4.7: 2016-05-24 11:00:20 -07:00
target Primary 4.7 merge window changes 2016-05-20 14:35:07 -07:00
tc
thermal Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux 2016-05-26 09:23:43 -07:00
thunderbolt
tty TTY and Serial driver update for 4.7-rc1 2016-05-20 20:57:27 -07:00
uio
usb USB patches for 4.7-rc1 2016-05-20 21:12:25 -07:00
uwb
vfio VFIO updates for v4.7-rc1 2016-05-25 09:47:26 -07:00
vhost
video pwm: Changes for v4.7-rc1 2016-05-25 10:40:15 -07:00
virt
virtio virtio_balloon: fix PFN format for virtio-1 2016-05-22 19:44:13 +03:00
vlynq
vme
w1
watchdog Merge git://www.linux-watchdog.org/linux-watchdog 2016-05-25 10:19:17 -07:00
xen xen: bug fixes for 4.7-rc0 2016-05-24 10:22:34 -07:00
zorro
Kconfig libnvdimm for 4.7 2016-05-23 11:18:01 -07:00
Makefile /dev/dax, pmem: direct access to persistent memory 2016-05-20 22:02:53 -07:00