static int silead_ts_setup(struct i2c_client *client) { struct silead_ts_data *data = i2c_get_clientdata(client); struct device *dev = &client->dev; int ret; u32 status; silead_ts_set_power(client, SILEAD_POWER_OFF); msleep(20); silead_ts_set_power(client, SILEAD_POWER_ON); msleep(20); ret = silead_ts_get_id(client); if (ret) return ret; dev_dbg(dev, "Chip ID: 0x%8X", data->chip_id); ret = silead_ts_init(client); if (ret) return ret; ret = silead_ts_reset(client); if (ret) return ret; ret = silead_ts_load_fw(client); if (ret) return ret; ret = silead_ts_startup(client); if (ret) return ret; msleep(20); status = silead_ts_get_status(client); if (status != SILEAD_STATUS_OK) { dev_err(dev, "Initialization error, status: 0x%X\n", status); return -ENODEV; } return 0; }
static int silead_ts_setup(struct i2c_client *client) { int error; u32 status; silead_ts_set_power(client, SILEAD_POWER_OFF); silead_ts_set_power(client, SILEAD_POWER_ON); error = silead_ts_get_id(client); if (error) return error; error = silead_ts_init(client); if (error) return error; error = silead_ts_reset(client); if (error) return error; error = silead_ts_load_fw(client); if (error) return error; error = silead_ts_startup(client); if (error) return error; status = silead_ts_get_status(client); if (status != SILEAD_STATUS_OK) { dev_err(&client->dev, "Initialization error, status: 0x%X\n", status); return -ENODEV; } return 0; }