static int __devinit stmpe_spi_probe(struct spi_device *spi) { const struct spi_device_id *id = spi_get_device_id(spi); /* */ if (spi->max_speed_hz > 1000000) { dev_dbg(&spi->dev, "f(sample) %d KHz?\n", (spi->max_speed_hz/1000)); return -EINVAL; } spi_ci.irq = spi->irq; spi_ci.client = spi; spi_ci.dev = &spi->dev; return stmpe_probe(&spi_ci, id->driver_data); }
static int stmpe_spi_probe(struct spi_device *spi) { const struct spi_device_id *id = spi_get_device_id(spi); /* don't exceed max specified rate - 1MHz - Limitation of STMPE */ if (spi->max_speed_hz > 1000000) { dev_dbg(&spi->dev, "f(sample) %d KHz?\n", (spi->max_speed_hz/1000)); return -EINVAL; } spi_ci.irq = spi->irq; spi_ci.client = spi; spi_ci.dev = &spi->dev; return stmpe_probe(&spi_ci, id->driver_data); }
static int stmpe_i2c_probe(struct i2c_client *i2c, const struct i2c_device_id *id) { int partnum; const struct of_device_id *of_id; i2c_ci.data = (void *)id; i2c_ci.irq = i2c->irq; i2c_ci.client = i2c; i2c_ci.dev = &i2c->dev; of_id = of_match_device(stmpe_of_match, &i2c->dev); if (!of_id) { /* * This happens when the I2C ID matches the node name * but no real compatible string has been given. */ dev_info(&i2c->dev, "matching on node name, compatible is preferred\n"); partnum = id->driver_data; } else partnum = (int)of_id->data; return stmpe_probe(&i2c_ci, partnum); }