--- zzzz-none-000/linux-3.10.107/drivers/mfd/si476x-i2c.c 2017-06-27 09:49:32.000000000 +0000 +++ scorpion-7490-727/linux-3.10.107/drivers/mfd/si476x-i2c.c 2021-02-04 17:41:59.000000000 +0000 @@ -718,7 +718,7 @@ atomic_set(&core->is_alive, 0); core->power_state = SI476X_POWER_DOWN; - pdata = client->dev.platform_data; + pdata = dev_get_platdata(&client->dev); if (pdata) { memcpy(&core->power_up_parameters, &pdata->power_up_parameters, @@ -766,7 +766,7 @@ sizeof(struct v4l2_rds_data), GFP_KERNEL); if (rval) { - dev_err(&client->dev, "Could not alloate the FIFO\n"); + dev_err(&client->dev, "Could not allocate the FIFO\n"); goto free_gpio; } mutex_init(&core->rds_drainer_status_lock); @@ -777,7 +777,8 @@ rval = devm_request_threaded_irq(&client->dev, client->irq, NULL, si476x_core_interrupt, - IRQF_TRIGGER_FALLING, + IRQF_TRIGGER_FALLING | + IRQF_ONESHOT, client->name, core); if (rval < 0) { dev_err(&client->dev, "Could not request IRQ %d\n", @@ -872,7 +873,6 @@ static struct i2c_driver si476x_core_driver = { .driver = { .name = "si476x-core", - .owner = THIS_MODULE, }, .probe = si476x_core_probe, .remove = si476x_core_remove,