static int __devinit ft5x06_spi_probe(struct spi_device *spi) { struct ft5x06_data *ft5x06; ft5x06 = ft5x06_probe(&spi->dev, &ft5x06_spi_bops); if (IS_ERR(ft5x06)) return PTR_ERR(ft5x06); spi_set_drvdata(spi, ft5x06); return 0; }
static int __devinit ft5x06_i2c_probe(struct i2c_client *client, const struct i2c_device_id *id) { struct ft5x06_data *ft5x06; if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_I2C_BLOCK)) { dev_err(&client->dev, "incompatible i2c adapter."); return -ENODEV; } ft5x06 = ft5x06_probe(&client->dev, &ft5x06_i2c_bops); if (IS_ERR(ft5x06)) return PTR_ERR(ft5x06); i2c_set_clientdata(client, ft5x06); return 0; }