diff options
Diffstat (limited to 'drivers/input/joystick/psxpad-spi.c')
| -rw-r--r-- | drivers/input/joystick/psxpad-spi.c | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/drivers/input/joystick/psxpad-spi.c b/drivers/input/joystick/psxpad-spi.c index a32656064f39..f902a56d011f 100644 --- a/drivers/input/joystick/psxpad-spi.c +++ b/drivers/input/joystick/psxpad-spi.c @@ -44,6 +44,8 @@ static const u8 PSX_CMD_POLL[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; + +#ifdef CONFIG_JOYSTICK_PSXPAD_SPI_FF /* 0x01, 0x43, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 */ static const u8 PSX_CMD_ENTER_CFG[] = { 0x80, 0xC2, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00 @@ -56,6 +58,7 @@ static const u8 PSX_CMD_EXIT_CFG[] = { static const u8 PSX_CMD_ENABLE_MOTOR[] = { 0x80, 0xB2, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0xFF }; +#endif /* CONFIG_JOYSTICK_PSXPAD_SPI_FF */ struct psxpad { struct spi_device *spi; @@ -339,9 +342,13 @@ static int psxpad_spi_probe(struct spi_device *spi) spi->mode = SPI_MODE_3; spi->bits_per_word = 8; /* (PlayStation 1/2 joypad might be possible works 250kHz/500kHz) */ - spi->master->min_speed_hz = 125000; - spi->master->max_speed_hz = 125000; - spi_setup(spi); + spi->controller->min_speed_hz = 125000; + spi->controller->max_speed_hz = 125000; + err = spi_setup(spi); + if (err) { + dev_err(&spi->dev, "failed to set up SPI: %d\n", err); + return err; + } /* pad settings */ psxpad_set_motor_level(pad, 0, 0); @@ -371,7 +378,7 @@ static int psxpad_spi_probe(struct spi_device *spi) return 0; } -static int __maybe_unused psxpad_spi_suspend(struct device *dev) +static int psxpad_spi_suspend(struct device *dev) { struct spi_device *spi = to_spi_device(dev); struct psxpad *pad = spi_get_drvdata(spi); @@ -381,7 +388,7 @@ static int __maybe_unused psxpad_spi_suspend(struct device *dev) return 0; } -static SIMPLE_DEV_PM_OPS(psxpad_spi_pm, psxpad_spi_suspend, NULL); +static DEFINE_SIMPLE_DEV_PM_OPS(psxpad_spi_pm, psxpad_spi_suspend, NULL); static const struct spi_device_id psxpad_spi_id[] = { { "psxpad-spi", 0 }, @@ -392,7 +399,7 @@ MODULE_DEVICE_TABLE(spi, psxpad_spi_id); static struct spi_driver psxpad_spi_driver = { .driver = { .name = "psxpad-spi", - .pm = &psxpad_spi_pm, + .pm = pm_sleep_ptr(&psxpad_spi_pm), }, .id_table = psxpad_spi_id, .probe = psxpad_spi_probe, |
