aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-sa1100
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2017-11-14 20:52:21 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2017-11-14 20:52:21 -0500
commit4008e6a9bcee2f3b61bb11951de0fb0ed764cb91 (patch)
treee7e3202d6d156acb57845a1824c9a8249f288c53 /arch/arm/mach-sa1100
parent6aa2f9441f1ef21f10c41f45e6453b135e9cd736 (diff)
parentd82e99a6f9b38cb1a044b4cd979bd49fd3f67cd2 (diff)
Merge branch 'i2c/for-4.15' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/wsa/linux
Pull i2c updates from Wolfram Sang: "This contains two bigger than usual tree-wide changes this time. They all have proper acks, caused no merge conflicts in linux-next where they have been for a while. They are namely: - to-gpiod conversion of the i2c-gpio driver and its users (touching arch/* and drivers/mfd/*) - adding a sbs-manager based on I2C core updates to SMBus alerts (touching drivers/power/*) Other notable changes: - i2c_boardinfo can now carry a dev_name to be used when the device is created. This is because some devices in ACPI world need fixed names to find the regulators. - the designware driver got a long discussed overhaul of its PM handling. img-scb and davinci got PM support, too. - at24 driver has way better OF support. And it has a new maintainer. Thanks Bartosz for stepping up! The rest is regular driver updates and fixes" * 'i2c/for-4.15' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (55 commits) ARM: sa1100: simpad: Correct I2C GPIO offsets i2c: aspeed: Deassert reset in probe eeprom: at24: Add OF device ID table MAINTAINERS: new maintainer for AT24 driver i2c: nuc900: remove platform_data, too i2c: thunderx: Remove duplicate NULL check i2c: taos-evm: Remove duplicate NULL check i2c: Make i2c_unregister_device() NULL-aware i2c: xgene-slimpro: Support v2 i2c: mpc: remove useless variable initialization i2c: omap: Trigger bus recovery in lockup case i2c: gpio: Add support for named gpios in DT dt-bindings: i2c: i2c-gpio: Add support for named gpios i2c: gpio: Local vars in probe i2c: gpio: Augment all boardfiles to use open drain i2c: gpio: Enforce open drain through gpiolib gpio: Make it possible for consumers to enforce open drain i2c: gpio: Convert to use descriptors power: supply: sbs-message: fix some code style issues power: supply: sbs-battery: remove unchecked return var ...
Diffstat (limited to 'arch/arm/mach-sa1100')
-rw-r--r--arch/arm/mach-sa1100/simpad.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/arch/arm/mach-sa1100/simpad.c b/arch/arm/mach-sa1100/simpad.c
index e8d25a7bbcb8..7d4feb8a49ac 100644
--- a/arch/arm/mach-sa1100/simpad.c
+++ b/arch/arm/mach-sa1100/simpad.c
@@ -17,6 +17,7 @@
17#include <linux/mtd/partitions.h> 17#include <linux/mtd/partitions.h>
18#include <linux/io.h> 18#include <linux/io.h>
19#include <linux/gpio/driver.h> 19#include <linux/gpio/driver.h>
20#include <linux/gpio/machine.h>
20 21
21#include <mach/hardware.h> 22#include <mach/hardware.h>
22#include <asm/setup.h> 23#include <asm/setup.h>
@@ -324,9 +325,17 @@ static struct platform_device simpad_gpio_leds = {
324/* 325/*
325 * i2c 326 * i2c
326 */ 327 */
328static struct gpiod_lookup_table simpad_i2c_gpiod_table = {
329 .dev_id = "i2c-gpio",
330 .table = {
331 GPIO_LOOKUP_IDX("gpio", 21, NULL, 0,
332 GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),
333 GPIO_LOOKUP_IDX("gpio", 25, NULL, 1,
334 GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN),
335 },
336};
337
327static struct i2c_gpio_platform_data simpad_i2c_data = { 338static struct i2c_gpio_platform_data simpad_i2c_data = {
328 .sda_pin = GPIO_GPIO21,
329 .scl_pin = GPIO_GPIO25,
330 .udelay = 10, 339 .udelay = 10,
331 .timeout = HZ, 340 .timeout = HZ,
332}; 341};
@@ -381,6 +390,7 @@ static int __init simpad_init(void)
381 ARRAY_SIZE(simpad_flash_resources)); 390 ARRAY_SIZE(simpad_flash_resources));
382 sa11x0_register_mcp(&simpad_mcp_data); 391 sa11x0_register_mcp(&simpad_mcp_data);
383 392
393 gpiod_add_lookup_table(&simpad_i2c_gpiod_table);
384 ret = platform_add_devices(devices, ARRAY_SIZE(devices)); 394 ret = platform_add_devices(devices, ARRAY_SIZE(devices));
385 if(ret) 395 if(ret)
386 printk(KERN_WARNING "simpad: Unable to register mq200 framebuffer device"); 396 printk(KERN_WARNING "simpad: Unable to register mq200 framebuffer device");