mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-09 22:50:41 +00:00
staging: ste_rmi4: remove cross-dependent platform data
The ux500 machine was actually defining platform data for the staging driver ste_rmi4, which is not OK. Let us instead define some __weak platform data in the machine so that the staging driver can override it at compile-time and we can thus have the driver self-contained in staging. Reported-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
6977a271d4
commit
857f727674
@ -12,34 +12,14 @@
|
|||||||
#include <linux/interrupt.h>
|
#include <linux/interrupt.h>
|
||||||
#include <linux/mfd/tc3589x.h>
|
#include <linux/mfd/tc3589x.h>
|
||||||
#include <linux/input/matrix_keypad.h>
|
#include <linux/input/matrix_keypad.h>
|
||||||
#include <../drivers/staging/ste_rmi4/synaptics_i2c_rmi4.h>
|
|
||||||
|
|
||||||
#include <mach/gpio.h>
|
#include <mach/gpio.h>
|
||||||
#include <mach/irqs.h>
|
#include <mach/irqs.h>
|
||||||
|
|
||||||
#include "board-mop500.h"
|
#include "board-mop500.h"
|
||||||
|
|
||||||
/*
|
/* Dummy data that can be overridden by staging driver */
|
||||||
* Synaptics RMI4 touchscreen interface on the U8500 UIB
|
struct i2c_board_info __initdata __weak mop500_i2c3_devices_u8500[] = {
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Descriptor structure.
|
|
||||||
* Describes the number of i2c devices on the bus that speak RMI.
|
|
||||||
*/
|
|
||||||
static struct synaptics_rmi4_platform_data rmi4_i2c_dev_platformdata = {
|
|
||||||
.irq_number = NOMADIK_GPIO_TO_IRQ(84),
|
|
||||||
.irq_type = (IRQF_TRIGGER_FALLING | IRQF_SHARED),
|
|
||||||
.x_flip = false,
|
|
||||||
.y_flip = true,
|
|
||||||
.regulator_en = false,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct i2c_board_info __initdata mop500_i2c3_devices_u8500[] = {
|
|
||||||
{
|
|
||||||
I2C_BOARD_INFO("synaptics_rmi4_i2c", 0x4B),
|
|
||||||
.platform_data = &rmi4_i2c_dev_platformdata,
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -2,3 +2,4 @@
|
|||||||
# Makefile for the RMI4 touchscreen driver.
|
# Makefile for the RMI4 touchscreen driver.
|
||||||
#
|
#
|
||||||
obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4) += synaptics_i2c_rmi4.o
|
obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4) += synaptics_i2c_rmi4.o
|
||||||
|
obj-$(CONFIG_MACH_U8500) += board-mop500-u8500uib-rmi4.o
|
||||||
|
32
drivers/staging/ste_rmi4/board-mop500-u8500uib-rmi4.c
Normal file
32
drivers/staging/ste_rmi4/board-mop500-u8500uib-rmi4.c
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
/*
|
||||||
|
* Some platform data for the RMI4 touchscreen that will override the __weak
|
||||||
|
* platform data in the Ux500 machine if this driver is activated.
|
||||||
|
*/
|
||||||
|
#include <linux/i2c.h>
|
||||||
|
#include <linux/gpio.h>
|
||||||
|
#include <linux/interrupt.h>
|
||||||
|
#include <mach/gpio.h>
|
||||||
|
#include <mach/irqs.h>
|
||||||
|
#include "synaptics_i2c_rmi4.h"
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Synaptics RMI4 touchscreen interface on the U8500 UIB
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Descriptor structure.
|
||||||
|
* Describes the number of i2c devices on the bus that speak RMI.
|
||||||
|
*/
|
||||||
|
static struct synaptics_rmi4_platform_data rmi4_i2c_dev_platformdata = {
|
||||||
|
.irq_number = NOMADIK_GPIO_TO_IRQ(84),
|
||||||
|
.irq_type = (IRQF_TRIGGER_FALLING | IRQF_SHARED),
|
||||||
|
.x_flip = false,
|
||||||
|
.y_flip = true,
|
||||||
|
};
|
||||||
|
|
||||||
|
struct i2c_board_info __initdata mop500_i2c3_devices_u8500[] = {
|
||||||
|
{
|
||||||
|
I2C_BOARD_INFO("synaptics_rmi4_i2c", 0x4B),
|
||||||
|
.platform_data = &rmi4_i2c_dev_platformdata,
|
||||||
|
},
|
||||||
|
};
|
Loading…
x
Reference in New Issue
Block a user