On Tue, 2017-03-28 at 12:36 +0300, Andy Shevchenko wrote: > Legacy platform data must go away. We are on the safe side here since > there are no users of it in the kernel. > > If anyone by any odd reason needs it the GPIO lookup tables and > built-in device properties at your service. > Samuel, anything I need to address? > Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> > --- > v3: no change > > drivers/nfc/pn544/i2c.c | 43 ++++++-------------------- > ----------- > include/linux/platform_data/pn544.h | 43 ---------------------------- > --------- > 2 files changed, 6 insertions(+), 80 deletions(-) > delete mode 100644 include/linux/platform_data/pn544.h > > diff --git a/drivers/nfc/pn544/i2c.c b/drivers/nfc/pn544/i2c.c > index f837c39a8017..41e518ee148e 100644 > --- a/drivers/nfc/pn544/i2c.c > +++ b/drivers/nfc/pn544/i2c.c > @@ -31,7 +31,7 @@ > #include <linux/nfc.h> > #include <linux/firmware.h> > #include <linux/gpio/consumer.h> > -#include <linux/platform_data/pn544.h> > + > #include <asm/unaligned.h> > > #include <net/nfc/hci.h> > @@ -973,7 +973,6 @@ static int pn544_hci_i2c_probe(struct i2c_client > *client, > const struct i2c_device_id *id) > { > struct pn544_i2c_phy *phy; > - struct pn544_nfc_platform_data *pdata; > int r = 0; > > dev_dbg(&client->dev, "%s\n", __func__); > @@ -995,32 +994,13 @@ static int pn544_hci_i2c_probe(struct i2c_client > *client, > phy->i2c_dev = client; > i2c_set_clientdata(client, phy); > > - pdata = client->dev.platform_data; > - > /* No platform data, using device tree. */ > - if (!pdata && client->dev.of_node) { > + if (client->dev.of_node) { > r = pn544_hci_i2c_of_request_resources(client); > if (r) { > nfc_err(&client->dev, "No DT data\n"); > return r; > } > - /* Using platform data. */ > - } else if (pdata) { > - > - if (pdata->request_resources == NULL) { > - nfc_err(&client->dev, "request_resources() > missing\n"); > - return -EINVAL; > - } > - > - r = pdata->request_resources(client); > - if (r) { > - nfc_err(&client->dev, > - "Cannot get platform resources\n"); > - return r; > - } > - > - phy->gpio_en = pdata->get_gpio(NFC_GPIO_ENABLE); > - phy->gpio_fw = pdata->get_gpio(NFC_GPIO_FW_RESET); > /* Using ACPI */ > } else if (ACPI_HANDLE(&client->dev)) { > r = pn544_hci_i2c_acpi_request_resources(client); > @@ -1057,12 +1037,8 @@ static int pn544_hci_i2c_probe(struct > i2c_client *client, > free_irq(client->irq, phy); > > err_rti: > - if (!pdata) { > - gpio_free(phy->gpio_en); > - gpio_free(phy->gpio_fw); > - } else if (pdata->free_resources) { > - pdata->free_resources(); > - } > + gpio_free(phy->gpio_en); > + gpio_free(phy->gpio_fw); > > return r; > } > @@ -1070,7 +1046,6 @@ static int pn544_hci_i2c_probe(struct i2c_client > *client, > static int pn544_hci_i2c_remove(struct i2c_client *client) > { > struct pn544_i2c_phy *phy = i2c_get_clientdata(client); > - struct pn544_nfc_platform_data *pdata = client- > >dev.platform_data; > > dev_dbg(&client->dev, "%s\n", __func__); > > @@ -1085,14 +1060,8 @@ static int pn544_hci_i2c_remove(struct > i2c_client *client) > > free_irq(client->irq, phy); > > - /* No platform data, GPIOs have been requested by this driver > */ > - if (!pdata) { > - gpio_free(phy->gpio_en); > - gpio_free(phy->gpio_fw); > - /* Using platform data */ > - } else if (pdata->free_resources) { > - pdata->free_resources(); > - } > + gpio_free(phy->gpio_en); > + gpio_free(phy->gpio_fw); > > return 0; > } > diff --git a/include/linux/platform_data/pn544.h > b/include/linux/platform_data/pn544.h > deleted file mode 100644 > index 5ce1ab983f44..000000000000 > --- a/include/linux/platform_data/pn544.h > +++ /dev/null > @@ -1,43 +0,0 @@ > -/* > - * Driver include for the PN544 NFC chip. > - * > - * Copyright (C) Nokia Corporation > - * > - * Author: Jari Vanhala <ext-jari.vanhala@xxxxxxxxx> > - * Contact: Matti Aaltoenn <matti.j.aaltonen@xxxxxxxxx> > - * > - * 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. > - * > - * This program is distributed in the hope that it will be useful, > - * but WITHOUT ANY WARRANTY; without even the implied warranty of > - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See > the > - * GNU General Public License for more details. > - * > - * You should have received a copy of the GNU General Public License > - * along with this program; if not, see <http://www.gnu.org/licenses/ > >. > - */ > - > -#ifndef _PN544_H_ > -#define _PN544_H_ > - > -#include <linux/i2c.h> > - > -enum { > - NFC_GPIO_ENABLE, > - NFC_GPIO_FW_RESET, > - NFC_GPIO_IRQ > -}; > - > -/* board config */ > -struct pn544_nfc_platform_data { > - int (*request_resources) (struct i2c_client *client); > - void (*free_resources) (void); > - void (*enable) (int fw); > - int (*test) (void); > - void (*disable) (void); > - int (*get_gpio)(int type); > -}; > - > -#endif /* _PN544_H_ */ -- Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Intel Finland Oy