Use rm31080_spi_checking() to check if the hardware is present,
and move the checking to the front of the driver init function
so as to avoid registering suspend/resume function which later
causes kernel panic when system suspends.
bug
1207093
Change-Id: I775e4cae70745ee5ef9ae29888a95b4b770df0db
Signed-off-by: Mark Kuo <mkuo@nvidia.com>
Signed-off-by: Shridhar Rasal <srasal@nvidia.com>
Reviewed-on: http://git-master/r/187746
(cherry picked from commit
41f0d55dcf8ea7b6dd47b6ea7c19eff319128784)
Reviewed-on: http://git-master/r/189030
Reviewed-by: Varun Colbert <vcolbert@nvidia.com>
Tested-by: Varun Colbert <vcolbert@nvidia.com>
goto err_out;
}
+ err = rm31080_spi_checking(0);
+ /* succeed return: 1, failed: 0 */
+ if (err == 0) {
+ err = -ENODEV;
+ goto err_out;
+ }
+
ts = kzalloc(sizeof(*ts), GFP_KERNEL);
input_dev = input_allocate_device();
rm31080_init_ts_structure_part();
- if (!rm31080_spi_checking(0))
- goto err_unregister_notifier;
if (misc_register(&raydium_ts_miscdev) != 0) {
dev_err(&spi->dev, "Raydium TS: cannot register miscdev\n");