@@ -210,7 +210,8 @@ static void max7301_set(struct gpio_chip *chip, unsigned offset, int value)
mutex_unlock(&ts->lock);
}
-static int __devinit max7301_probe(struct spi_device *spi)
+static int __devinit max7301_probe(struct spi_device *spi,
+ const struct spi_device_id *id)
{
struct max7301 *ts;
struct max7301_platform_data *pdata;
@@ -300,7 +300,8 @@ fail:
return status;
}
-static int mcp23s08_probe(struct spi_device *spi)
+static int mcp23s08_probe(struct spi_device *spi,
+ const struct spi_device_id *id)
{
struct mcp23s08_platform_data *pdata;
unsigned addr;
@@ -204,22 +204,26 @@ out_err:
return status;
}
-static int __devinit adcxx1s_probe(struct spi_device *spi)
+static int __devinit adcxx1s_probe(struct spi_device *spi,
+ const struct spi_device_id *id)
{
return adcxx_probe(spi, 1);
}
-static int __devinit adcxx2s_probe(struct spi_device *spi)
+static int __devinit adcxx2s_probe(struct spi_device *spi,
+ const struct spi_device_id *id)
{
return adcxx_probe(spi, 2);
}
-static int __devinit adcxx4s_probe(struct spi_device *spi)
+static int __devinit adcxx4s_probe(struct spi_device *spi,
+ const struct spi_device_id *id)
{
return adcxx_probe(spi, 4);
}
-static int __devinit adcxx8s_probe(struct spi_device *spi)
+static int __devinit adcxx8s_probe(struct spi_device *spi,
+ const struct spi_device_id *id)
{
return adcxx_probe(spi, 8);
}
@@ -56,7 +56,8 @@ static int lis3_spi_init(struct lis3lv02d *lis3)
static struct axis_conversion lis3lv02d_axis_normal = { 1, 2, 3 };
-static int __devinit lis302dl_spi_probe(struct spi_device *spi)
+static int __devinit lis302dl_spi_probe(struct spi_device *spi,
+ const struct spi_device_id *id)
{
int ret;
@@ -170,7 +170,8 @@ out_dev_reg_failed:
return status;
}
-static int __devinit lm70_probe(struct spi_device *spi)
+static int __devinit lm70_probe(struct spi_device *spi,
+ const struct spi_device_id *id)
{
/* signaling is SPI_MODE_0 on a 3-wire link (shared SI/SO) */
if ((spi->mode & (SPI_CPOL | SPI_CPHA)) || !(spi->mode & SPI_3WIRE))
@@ -179,7 +180,8 @@ static int __devinit lm70_probe(struct spi_device *spi)
return common_probe(spi, LM70_CHIP_LM70);
}
-static int __devinit tmp121_probe(struct spi_device *spi)
+static int __devinit tmp121_probe(struct spi_device *spi,
+ const struct spi_device_id *id)
{
/* signaling is SPI_MODE_0 with only MISO connected */
if (spi->mode & (SPI_CPOL | SPI_CPHA))
@@ -154,7 +154,8 @@ static int setup_transfer(struct max1111_data *data)
return 0;
}
-static int __devinit max1111_probe(struct spi_device *spi)
+static int __devinit max1111_probe(struct spi_device *spi,
+ const struct spi_device_id *id)
{
struct max1111_data *data;
int err;
@@ -646,7 +646,8 @@ static void ad7877_setup_ts_def_msg(struct spi_device *spi, struct ad7877 *ts)
}
}
-static int __devinit ad7877_probe(struct spi_device *spi)
+static int __devinit ad7877_probe(struct spi_device *spi,
+ const struct spi_device_id *id)
{
struct ad7877 *ts;
struct input_dev *input_dev;
@@ -618,7 +618,8 @@ static void ad7879_setup_ts_def_msg(struct ad7879 *ts)
}
}
-static int __devinit ad7879_probe(struct spi_device *spi)
+static int __devinit ad7879_probe(struct spi_device *spi,
+ const struct spi_device_id *id)
{
struct ad7879 *ts;
int error;
@@ -872,7 +872,8 @@ static int __devinit setup_pendown(struct spi_device *spi, struct ads7846 *ts)
return 0;
}
-static int __devinit ads7846_probe(struct spi_device *spi)
+static int __devinit ads7846_probe(struct spi_device *spi,
+ const struct spi_device_id *id)
{
struct ads7846 *ts;
struct ads7846_packet *packet;
@@ -64,7 +64,8 @@ static void dac124s085_set_brightness(struct led_classdev *ldev,
spin_unlock(&led->lock);
}
-static int dac124s085_probe(struct spi_device *spi)
+static int dac124s085_probe(struct spi_device *spi,
+ const struct spi_device_id *id)
{
struct dac124s085 *dac;
struct dac124s085_led *led;
@@ -378,7 +378,8 @@ static int __devexit ezx_pcap_remove(struct spi_device *spi)
return 0;
}
-static int __devinit ezx_pcap_probe(struct spi_device *spi)
+static int __devinit ezx_pcap_probe(struct spi_device *spi,
+ const struct spi_device_id *id)
{
struct pcap_platform_data *pdata = spi->dev.platform_data;
struct pcap_chip *pcap;
@@ -287,7 +287,7 @@ static ssize_t at25_mem_write(struct memory_accessor *mem, const char *buf,
/*-------------------------------------------------------------------------*/
-static int at25_probe(struct spi_device *spi)
+static int at25_probe(struct spi_device *spi, const struct spi_device_id *id)
{
struct at25_data *at25 = NULL;
const struct spi_eeprom *chip;
@@ -1306,7 +1306,8 @@ static int maybe_count_child(struct device *dev, void *c)
return 0;
}
-static int mmc_spi_probe(struct spi_device *spi)
+static int mmc_spi_probe(struct spi_device *spi,
+ const struct spi_device_id *id)
{
void *ones;
struct mmc_host *mmc;
@@ -782,7 +782,7 @@ static struct spi_driver m25p80_driver = {
.owner = THIS_MODULE,
},
.id_table = m25p_ids,
- .probe_id = m25p_probe,
+ .probe = m25p_probe,
.remove = __devexit_p(m25p_remove),
/* REVISIT: many of these chips have deep power-down modes, which
@@ -847,7 +847,8 @@ static struct flash_info *__devinit jedec_probe(struct spi_device *spi)
* AT45DB0642 64Mbit (8M) xx111xxx (0x3c) 8192 1056 11
* AT45DB1282 128Mbit (16M) xx0100xx (0x10) 16384 1056 11
*/
-static int __devinit dataflash_probe(struct spi_device *spi)
+static int __devinit dataflash_probe(struct spi_device *spi,
+ const struct spi_device_id *id)
{
int status;
struct flash_info *info;
@@ -1542,7 +1542,8 @@ static const struct net_device_ops enc28j60_netdev_ops = {
.ndo_validate_addr = eth_validate_addr,
};
-static int __devinit enc28j60_probe(struct spi_device *spi)
+static int __devinit enc28j60_probe(struct spi_device *spi,
+ const struct spi_device_id *id)
{
struct net_device *dev;
struct enc28j60_net *priv;
@@ -1176,7 +1176,8 @@ static int ks8851_read_selftest(struct ks8851_net *ks)
/* driver bus management functions */
-static int __devinit ks8851_probe(struct spi_device *spi)
+static int __devinit ks8851_probe(struct spi_device *spi,
+ const struct spi_device_id *id)
{
struct net_device *ndev;
struct ks8851_net *ks;
@@ -1027,7 +1027,8 @@ static int if_spi_calculate_fw_names(u16 card_id,
return 0;
}
-static int __devinit if_spi_probe(struct spi_device *spi)
+static int __devinit if_spi_probe(struct spi_device *spi,
+ const struct spi_device_id *id)
{
struct if_spi_card *card;
struct lbs_private *priv = NULL;
@@ -627,7 +627,8 @@ static void p54spi_op_stop(struct ieee80211_hw *dev)
mutex_unlock(&priv->mutex);
}
-static int __devinit p54spi_probe(struct spi_device *spi)
+static int __devinit p54spi_probe(struct spi_device *spi,
+ const struct spi_device_id *id)
{
struct p54s_priv *priv = NULL;
struct ieee80211_hw *hw;
@@ -1171,7 +1171,8 @@ static int wl12xx_init_ieee80211(struct wl12xx *wl)
}
#define WL12XX_DEFAULT_CHANNEL 1
-static int __devinit wl12xx_probe(struct spi_device *spi)
+static int __devinit wl12xx_probe(struct spi_device *spi,
+ const struct spi_device_id *id)
{
struct wl12xx_platform_data *pdata;
struct ieee80211_hw *hw;
@@ -614,7 +614,8 @@ static struct bin_attribute nvram = {
* Interface to SPI stack
*/
-static int __devinit ds1305_probe(struct spi_device *spi)
+static int __devinit ds1305_probe(struct spi_device *spi,
+ const struct spi_device_id *id)
{
struct ds1305 *ds1305;
struct rtc_device *rtc;
@@ -120,7 +120,8 @@ static const struct rtc_class_ops ds1390_rtc_ops = {
.set_time = ds1390_set_time,
};
-static int __devinit ds1390_probe(struct spi_device *spi)
+static int __devinit ds1390_probe(struct spi_device *spi,
+ const struct spi_device_id *id)
{
unsigned char tmp;
struct ds1390 *chip;
@@ -105,7 +105,8 @@ static const struct rtc_class_ops ds3234_rtc_ops = {
.set_time = ds3234_set_time,
};
-static int __devinit ds3234_probe(struct spi_device *spi)
+static int __devinit ds3234_probe(struct spi_device *spi,
+ const struct spi_device_id *id)
{
struct rtc_device *rtc;
unsigned char tmp;
@@ -110,7 +110,8 @@ static const struct rtc_class_ops m41t94_rtc_ops = {
static struct spi_driver m41t94_driver;
-static int __devinit m41t94_probe(struct spi_device *spi)
+static int __devinit m41t94_probe(struct spi_device *spi,
+ const struct spi_device_id *id)
{
struct rtc_device *rtc;
int res;
@@ -120,7 +120,8 @@ static const struct rtc_class_ops max6902_rtc_ops = {
.set_time = max6902_set_time,
};
-static int __devinit max6902_probe(struct spi_device *spi)
+static int __devinit max6902_probe(struct spi_device *spi,
+ const struct spi_device_id *id)
{
struct rtc_device *rtc;
unsigned char tmp;
@@ -119,7 +119,8 @@ static const struct rtc_class_ops r9701_rtc_ops = {
.set_time = r9701_set_datetime,
};
-static int __devinit r9701_probe(struct spi_device *spi)
+static int __devinit r9701_probe(struct spi_device *spi,
+ const struct spi_device_id *id)
{
struct rtc_device *rtc;
unsigned char tmp;
@@ -147,7 +147,8 @@ static const struct rtc_class_ops rs5c348_rtc_ops = {
static struct spi_driver rs5c348_driver;
-static int __devinit rs5c348_probe(struct spi_device *spi)
+static int __devinit rs5c348_probe(struct spi_device *spi,
+ const struct spi_device_id *id)
{
int ret;
struct rtc_device *rtc;
@@ -741,7 +741,8 @@ static struct uart_driver max3100_uart_driver = {
};
static int uart_driver_registered;
-static int __devinit max3100_probe(struct spi_device *spi)
+static int __devinit max3100_probe(struct spi_device *spi,
+ const struct spi_device_id *id)
{
int i, retval;
struct plat_max3100 *pdata;
@@ -137,19 +137,12 @@ struct bus_type spi_bus_type = {
};
EXPORT_SYMBOL_GPL(spi_bus_type);
-static int spi_drv_probe_id(struct device *dev)
-{
- const struct spi_driver *sdrv = to_spi_driver(dev->driver);
- struct spi_device *sdev = to_spi_device(dev);
-
- return sdrv->probe_id(sdev, spi_match_id(sdrv->id_table, sdev));
-}
-
static int spi_drv_probe(struct device *dev)
{
const struct spi_driver *sdrv = to_spi_driver(dev->driver);
+ struct spi_device *sdev = to_spi_device(dev);
- return sdrv->probe(to_spi_device(dev));
+ return sdrv->probe(sdev, spi_match_id(sdrv->id_table, sdev));
}
static int spi_drv_remove(struct device *dev)
@@ -174,9 +167,7 @@ static void spi_drv_shutdown(struct device *dev)
int spi_register_driver(struct spi_driver *sdrv)
{
sdrv->driver.bus = &spi_bus_type;
- if (sdrv->probe_id)
- sdrv->driver.probe = spi_drv_probe_id;
- else if (sdrv->probe)
+ if (sdrv->probe)
sdrv->driver.probe = spi_drv_probe;
if (sdrv->remove)
sdrv->driver.remove = spi_drv_remove;
@@ -561,7 +561,7 @@ static struct class *spidev_class;
/*-------------------------------------------------------------------------*/
-static int spidev_probe(struct spi_device *spi)
+static int spidev_probe(struct spi_device *spi, const struct spi_device_id *id)
{
struct spidev_data *spidev;
int status;
@@ -238,7 +238,8 @@ static int to_gpio_num(struct device_attribute *attr)
return -1;
}
-static int __devinit tle62x0_probe(struct spi_device *spi)
+static int __devinit tle62x0_probe(struct spi_device *spi,
+ const struct spi_device_id *id)
{
struct tle62x0_state *st;
struct tle62x0_pdata *pdata;
@@ -2387,7 +2387,8 @@ static struct platform_device stlc45xx_device = {
},
};
-static int __devinit stlc45xx_probe(struct spi_device *spi)
+static int __devinit stlc45xx_probe(struct spi_device *spi,
+ const struct spi_device_id *id)
{
struct stlc45xx *stlc;
struct ieee80211_hw *hw;
@@ -530,7 +530,8 @@ err_free_backlight_on:
return err;
}
-static int __devinit corgi_lcd_probe(struct spi_device *spi)
+static int __devinit corgi_lcd_probe(struct spi_device *spi,
+ const struct spi_device_id *id)
{
struct corgi_lcd_platform_data *pdata = spi->dev.platform_data;
struct corgi_lcd *lcd;
@@ -225,7 +225,8 @@ static struct lcd_ops ltv_ops = {
.set_power = ltv350qv_set_power,
};
-static int __devinit ltv350qv_probe(struct spi_device *spi)
+static int __devinit ltv350qv_probe(struct spi_device *spi,
+ const struct spi_device_id *id)
{
struct ltv350qv *lcd;
struct lcd_device *ld;
@@ -327,7 +327,8 @@ static struct lcd_ops tdo24m_ops = {
.set_mode = tdo24m_set_mode,
};
-static int __devinit tdo24m_probe(struct spi_device *spi)
+static int __devinit tdo24m_probe(struct spi_device *spi,
+ const struct spi_device_id *id)
{
struct tdo24m *lcd;
struct spi_message *m;
@@ -168,7 +168,8 @@ static struct lcd_ops tosa_lcd_ops = {
.set_mode = tosa_lcd_set_mode,
};
-static int __devinit tosa_lcd_probe(struct spi_device *spi)
+static int __devinit tosa_lcd_probe(struct spi_device *spi,
+ const struct spi_device_id *id)
{
int ret;
struct tosa_lcd_data *data;
@@ -227,7 +227,8 @@ static struct ili9320_client vgg2432a4_client = {
/* Device probe */
-static int __devinit vgg2432a4_probe(struct spi_device *spi)
+static int __devinit vgg2432a4_probe(struct spi_device *spi,
+ const struct spi_device_id *id)
{
int ret;
@@ -147,7 +147,6 @@ struct spi_message;
/**
* struct spi_driver - Host side "protocol" driver
* @id_table: List of SPI devices supported by this driver
- * @probe_id: Binds this driver to the spi device via id_table matching.
* @probe: Binds this driver to the spi device. Drivers can verify
* that the device is actually present, and may need to configure
* characteristics (such as bits_per_word) which weren't needed for
@@ -174,9 +173,8 @@ struct spi_message;
*/
struct spi_driver {
const struct spi_device_id *id_table;
- int (*probe_id)(struct spi_device *spi,
- const struct spi_device_id *id);
- int (*probe)(struct spi_device *spi);
+ int (*probe)(struct spi_device *spi,
+ const struct spi_device_id *id);
int (*remove)(struct spi_device *spi);
void (*shutdown)(struct spi_device *spi);
int (*suspend)(struct spi_device *spi, pm_message_t mesg);
The probe_id callback was introduced for the transition period as a "new-style" probe hook. This patch makes probe() look exactly as probe_id(), converts drivers and removes probe_id(). Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> --- drivers/gpio/max7301.c | 3 ++- drivers/gpio/mcp23s08.c | 3 ++- drivers/hwmon/adcxx.c | 12 ++++++++---- drivers/hwmon/lis3lv02d_spi.c | 3 ++- drivers/hwmon/lm70.c | 6 ++++-- drivers/hwmon/max1111.c | 3 ++- drivers/input/touchscreen/ad7877.c | 3 ++- drivers/input/touchscreen/ad7879.c | 3 ++- drivers/input/touchscreen/ads7846.c | 3 ++- drivers/leds/leds-dac124s085.c | 3 ++- drivers/mfd/ezx-pcap.c | 3 ++- drivers/misc/eeprom/at25.c | 2 +- drivers/mmc/host/mmc_spi.c | 3 ++- drivers/mtd/devices/m25p80.c | 2 +- drivers/mtd/devices/mtd_dataflash.c | 3 ++- drivers/net/enc28j60.c | 3 ++- drivers/net/ks8851.c | 3 ++- drivers/net/wireless/libertas/if_spi.c | 3 ++- drivers/net/wireless/p54/p54spi.c | 3 ++- drivers/net/wireless/wl12xx/main.c | 3 ++- drivers/rtc/rtc-ds1305.c | 3 ++- drivers/rtc/rtc-ds1390.c | 3 ++- drivers/rtc/rtc-ds3234.c | 3 ++- drivers/rtc/rtc-m41t94.c | 3 ++- drivers/rtc/rtc-max6902.c | 3 ++- drivers/rtc/rtc-r9701.c | 3 ++- drivers/rtc/rtc-rs5c348.c | 3 ++- drivers/serial/max3100.c | 3 ++- drivers/spi/spi.c | 15 +++------------ drivers/spi/spidev.c | 2 +- drivers/spi/tle62x0.c | 3 ++- drivers/staging/stlc45xx/stlc45xx.c | 3 ++- drivers/video/backlight/corgi_lcd.c | 3 ++- drivers/video/backlight/ltv350qv.c | 3 ++- drivers/video/backlight/tdo24m.c | 3 ++- drivers/video/backlight/tosa_lcd.c | 3 ++- drivers/video/backlight/vgg2432a4.c | 3 ++- include/linux/spi/spi.h | 6 ++---- 38 files changed, 82 insertions(+), 56 deletions(-)