On Thu, May 29, 2014 at 02:07:59PM +0530, Satish Patel wrote: > > > On 5/29/2014 12:14 AM, Greg KH wrote: > >On Wed, May 28, 2014 at 02:27:14PM +0530, Satish Patel wrote: > >>TDA8026 is a SmartCard PHY from NXP. > >> > >>The PHY interfaces with the main processor over the > >>I2C interface and acts as a slave device. > >> > >>The driver also exposes the phy interface > >>(defined@include/linux/sc_phy.h) for SmartCard controller. > >>Controller uses this interface to communicate with smart card > >>inserted to the phy's slot. > >> > >>Note: gpio irq is not validated as I do not have device with that. > >>I have validated interrupt with dedicated interrupt line on my device. > >> > >>Signed-off-by: Satish Patel <satish.patel@xxxxxx> > >>--- > >> Documentation/devicetree/bindings/misc/tda8026.txt | 19 + > >> drivers/misc/Kconfig | 7 + > >> drivers/misc/Makefile | 1 + > >> drivers/misc/tda8026.c | 1258 ++++++++++++++++++++ > >> 4 files changed, 1285 insertions(+) > >> create mode 100644 Documentation/devicetree/bindings/misc/tda8026.txt > >> create mode 100644 drivers/misc/tda8026.c > >> > >>diff --git a/Documentation/devicetree/bindings/misc/tda8026.txt b/Documentation/devicetree/bindings/misc/tda8026.txt > >>new file mode 100644 > >>index 0000000..f115c9c > >>--- /dev/null > >>+++ b/Documentation/devicetree/bindings/misc/tda8026.txt > >>@@ -0,0 +1,19 @@ > >>+TDA8026 smart card slot interface > >>+ > >>+This is an i2c based smart card interface device forming the electrical > >>+interface between a microcontroller and smart cards. This device supports > >>+asynchronous cards (micro controller-based IC cards) as well as synchronous > >>+cards (mainly memory cards) > >>+ > >>+Required properties: > >>+- compatible: "nxp,tda8026" > >>+- shutdown-gpio = GPIO pin mapping for SDWNN pin > >>+- reg = i2c interface address > >>+ > >>+ > >>+Example: > >>+tda8026: tda8026@48 { > >>+ compatible = "nxp,tda8026"; > >>+ reg = <0x48>; > >>+ shutdown-gpio = <&gpio5 19 GPIO_ACTIVE_HIGH>;/* Bank5, pin19 */ > >>+ }; > >>diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig > >>index 8baff0e..80b21d7 100644 > >>--- a/drivers/misc/Kconfig > >>+++ b/drivers/misc/Kconfig > >>@@ -515,6 +515,13 @@ config SRAM > >> the genalloc API. It is supposed to be used for small on-chip SRAM > >> areas found on many SoCs. > >> > >>+config NXP_TDA8026_PHY > >>+ tristate "NXP PHY Driver for Smart Card PHY" > >>+ depends on I2C=y > >>+ help > >>+ If you say yes here you get support for the TDA8026 Smart card PHY > >>+ with I2C interface. > >>+ > >> source "drivers/misc/c2port/Kconfig" > >> source "drivers/misc/eeprom/Kconfig" > >> source "drivers/misc/cb710/Kconfig" > >>diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile > >>index 7eb4b69..f262c0b 100644 > >>--- a/drivers/misc/Makefile > >>+++ b/drivers/misc/Makefile > >>@@ -55,3 +55,4 @@ obj-$(CONFIG_SRAM) += sram.o > >> obj-y += mic/ > >> obj-$(CONFIG_GENWQE) += genwqe/ > >> obj-$(CONFIG_ECHO) += echo/ > >>+obj-$(CONFIG_NXP_TDA8026_PHY) += tda8026.o > >>diff --git a/drivers/misc/tda8026.c b/drivers/misc/tda8026.c > >>new file mode 100644 > >>index 0000000..38df33e > >>--- /dev/null > >>+++ b/drivers/misc/tda8026.c > >>@@ -0,0 +1,1258 @@ > >>+/* > >>+ * tda8026.c - TDA8026 PHY driver for NXP Smart card PHY > >>+ * > >>+ * > >>+ * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/ > >>+ * > >>+ * This program is free software; you can redistribute it and/or > >>+ * modify it under the terms of the GNU General Public License as > >>+ * published by the Free Software Foundation version 2. > >>+ * > >>+ * This program is distributed "as is" WITHOUT ANY WARRANTY of any > >>+ * kind, whether express or implied; without even the implied warranty > >>+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > >>+ * GNU General Public License for more details. > >>+ */ > >>+ > >>+#include <linux/module.h> > >>+#include <linux/moduleparam.h> > >>+#include <linux/interrupt.h> > >>+#include <linux/init.h> > >>+#include <linux/slab.h> > >>+#include <linux/gpio.h> > >>+#include <linux/i2c.h> > >>+#include <linux/mfd/core.h> > >>+#include <linux/notifier.h> > >>+#include <linux/sc_phy.h> > >>+#include <linux/of_gpio.h> > >>+#include <linux/of_device.h> > >>+#include <linux/delay.h> > > > >I think you just broke the build if this driver is enabled now right? > > > >Not good :( > Before sending, I have applied these patches to "v3.15-rc7" and build with > both the option ti-usim & tda8026 as module, as well as part of kernel. Any > specific tree you would like me to rebase these patches against. Did you try applying the patches one-by-one and building afterwards between each one? In looking at this further, I think it will work, but please test and make sure. You can not break the build with any individual patch. thanks, greg k-h -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html