.. | .. |
---|
1 | | -// SPDX-License-Identifier: GPL-2.0 |
---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-only |
---|
2 | 2 | /* |
---|
3 | 3 | * Copyright (c) 2015, Fuzhou Rockchip Electronics Co., Ltd |
---|
4 | 4 | */ |
---|
.. | .. |
---|
263 | 263 | mb->mbox.chans[i].con_priv = &mb->chans[i]; |
---|
264 | 264 | } |
---|
265 | 265 | |
---|
266 | | - ret = mbox_controller_register(&mb->mbox); |
---|
| 266 | + ret = devm_mbox_controller_register(&pdev->dev, &mb->mbox); |
---|
267 | 267 | if (ret < 0) { |
---|
268 | 268 | dev_err(&pdev->dev, "Failed to register mailbox: %d\n", ret); |
---|
269 | 269 | goto disable_clk; |
---|
.. | .. |
---|
294 | 294 | return ret; |
---|
295 | 295 | } |
---|
296 | 296 | |
---|
297 | | -static int rockchip_mbox_remove(struct platform_device *pdev) |
---|
298 | | -{ |
---|
299 | | - struct rockchip_mbox *mb = platform_get_drvdata(pdev); |
---|
300 | | - |
---|
301 | | - if (!mb) |
---|
302 | | - return -EINVAL; |
---|
303 | | - |
---|
304 | | - mbox_controller_unregister(&mb->mbox); |
---|
305 | | - |
---|
306 | | - return 0; |
---|
307 | | -} |
---|
308 | | - |
---|
309 | 297 | static struct platform_driver rockchip_mbox_driver = { |
---|
310 | 298 | .probe = rockchip_mbox_probe, |
---|
311 | | - .remove = rockchip_mbox_remove, |
---|
312 | 299 | .driver = { |
---|
313 | 300 | .name = "rockchip-mailbox", |
---|
314 | 301 | .of_match_table = of_match_ptr(rockchip_mbox_of_match), |
---|
315 | 302 | }, |
---|
316 | 303 | }; |
---|
317 | 304 | |
---|
| 305 | +#if defined(CONFIG_ROCKCHIP_THUNDER_BOOT) |
---|
| 306 | +static int __init rockchip_mbox_driver_init(void) |
---|
| 307 | +{ |
---|
| 308 | + return platform_driver_register(&rockchip_mbox_driver); |
---|
| 309 | +} |
---|
| 310 | +core_initcall(rockchip_mbox_driver_init); |
---|
| 311 | +#else |
---|
318 | 312 | module_platform_driver(rockchip_mbox_driver); |
---|
| 313 | +#endif |
---|
319 | 314 | |
---|
320 | 315 | MODULE_LICENSE("GPL v2"); |
---|
321 | 316 | MODULE_DESCRIPTION("Rockchip mailbox: communicate between CPU cores and MCU"); |
---|