On Wed, Feb 10, 2016 at 02:23:25PM -0800, Andrew Duggan wrote: > Synaptics uses the Register Mapped Interface (RMI) protocol as a > communications interface for their devices. This driver adds the core > functionality needed to interface with RMI4 devices. > > RMI devices can be connected to the host via several transport protocols > and can supports a wide variety of functionality defined by RMI functions. > Support for transport protocols and RMI functions are implemented in > individual drivers. The RMI4 core driver uses a bus architecture to > facilitate the various combinations of transport and function drivers > needed by a particular device. > > Signed-off-by: Andrew Duggan <aduggan@xxxxxxxxxxxxx> > Signed-off-by: Christopher Heiny <cheiny@xxxxxxxxxxxxx> > --- > drivers/input/Kconfig | 2 + > drivers/input/Makefile | 2 + > drivers/input/rmi4/Kconfig | 10 + > drivers/input/rmi4/Makefile | 2 + > drivers/input/rmi4/rmi_bus.c | 375 ++++++++++++++ > drivers/input/rmi4/rmi_bus.h | 186 +++++++ > drivers/input/rmi4/rmi_driver.c | 1027 +++++++++++++++++++++++++++++++++++++++ > drivers/input/rmi4/rmi_driver.h | 103 ++++ > drivers/input/rmi4/rmi_f01.c | 574 ++++++++++++++++++++++ > include/linux/rmi.h | 209 ++++++++ > include/uapi/linux/input.h | 1 + > 11 files changed, 2491 insertions(+) > create mode 100644 drivers/input/rmi4/Kconfig > create mode 100644 drivers/input/rmi4/Makefile > create mode 100644 drivers/input/rmi4/rmi_bus.c > create mode 100644 drivers/input/rmi4/rmi_bus.h > create mode 100644 drivers/input/rmi4/rmi_driver.c > create mode 100644 drivers/input/rmi4/rmi_driver.h > create mode 100644 drivers/input/rmi4/rmi_f01.c > create mode 100644 include/linux/rmi.h > > diff --git a/drivers/input/Kconfig b/drivers/input/Kconfig > index a35532e..6261874 100644 > --- a/drivers/input/Kconfig > +++ b/drivers/input/Kconfig > @@ -201,6 +201,8 @@ source "drivers/input/touchscreen/Kconfig" > > source "drivers/input/misc/Kconfig" > > +source "drivers/input/rmi4/Kconfig" > + > endif > > menu "Hardware I/O ports" > diff --git a/drivers/input/Makefile b/drivers/input/Makefile > index 0c9302c..595820b 100644 > --- a/drivers/input/Makefile > +++ b/drivers/input/Makefile > @@ -26,3 +26,5 @@ obj-$(CONFIG_INPUT_TOUCHSCREEN) += touchscreen/ > obj-$(CONFIG_INPUT_MISC) += misc/ > > obj-$(CONFIG_INPUT_APMPOWER) += apm-power.o > + > +obj-$(CONFIG_RMI4_CORE) += rmi4/ > diff --git a/drivers/input/rmi4/Kconfig b/drivers/input/rmi4/Kconfig > new file mode 100644 > index 0000000..5ea60e3 > --- /dev/null > +++ b/drivers/input/rmi4/Kconfig > @@ -0,0 +1,10 @@ > +# > +# RMI4 configuration > +# > +config RMI4_CORE > + tristate "Synaptics RMI4 bus support" > + help > + Say Y here if you want to support the Synaptics RMI4 bus. This is > + required for all RMI4 device support. > + > + If unsure, say Y. > diff --git a/drivers/input/rmi4/Makefile b/drivers/input/rmi4/Makefile > new file mode 100644 > index 0000000..12f2197 > --- /dev/null > +++ b/drivers/input/rmi4/Makefile > @@ -0,0 +1,2 @@ > +obj-$(CONFIG_RMI4_CORE) += rmi_core.o > +rmi_core-y := rmi_bus.o rmi_driver.o rmi_f01.o > diff --git a/drivers/input/rmi4/rmi_bus.c b/drivers/input/rmi4/rmi_bus.c > new file mode 100644 > index 0000000..78922a6 > --- /dev/null > +++ b/drivers/input/rmi4/rmi_bus.c > @@ -0,0 +1,375 @@ > +/* > + * Copyright (c) 2011-2016 Synaptics Incorporated > + * Copyright (c) 2011 Unixphere > + * > + * This program is free software; you can redistribute it and/or modify it > + * under the terms of the GNU General Public License version 2 as published by > + * the Free Software Foundation. > + */ > + > +#include <linux/kernel.h> > +#include <linux/device.h> > +#include <linux/kconfig.h> > +#include <linux/list.h> > +#include <linux/pm.h> > +#include <linux/rmi.h> > +#include <linux/slab.h> > +#include <linux/types.h> > +#include <linux/of.h> > +#include "rmi_bus.h" > +#include "rmi_driver.h" > + > +int debug_flags; Changed to static. > +module_param(debug_flags, int, 0444); Changed to 0644 - there is no reason why we can't change flags at runtime. Thanks. -- Dmitry -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html