*/
udelay(100);
- err = si476x_core_start(core, true);
+ err = si476x_core_start(core, false);
if (err < 0)
goto disable_regulators;
case SI476X_POWER_DOWN:
core->power_state = next_state;
- err = si476x_core_stop(core, true);
+ err = si476x_core_stop(core, false);
if (err < 0)
core->power_state = SI476X_POWER_INCONSISTENT;
disable_regulators:
memcpy(&core->pinmux, &pdata->pinmux,
sizeof(struct si476x_pinmux));
} else {
- dev_warn(&client->dev, "Using default platform data.\n");
- core->power_up_parameters.xcload = 0x28;
- core->power_up_parameters.func = SI476X_FUNC_FM_RECEIVER;
- core->power_up_parameters.freq = SI476X_FREQ_37P209375_MHZ;
- core->diversity_mode = SI476X_PHDIV_DISABLED;
- core->pinmux.dclk = SI476X_DCLK_DAUDIO;
- core->pinmux.dfs = SI476X_DFS_DAUDIO;
- core->pinmux.dout = SI476X_DOUT_I2S_OUTPUT;
- core->pinmux.xout = SI476X_XOUT_TRISTATE;
+ dev_err(&client->dev, "No platform data provided\n");
+ return -EINVAL;
}
core->supplies[0].supply = "vd";
core->chip_id = id->driver_data;
- /* Power down si476x first */
- core->power_state = SI476X_POWER_UP_FULL;
- si476x_core_set_power_state(core, SI476X_POWER_DOWN);
-
rval = si476x_core_get_revision_info(core);
if (rval < 0) {
rval = -ENODEV;