| 237 | static struct notifier_block pm_notifier_block = {.notifier_call = dev_pm}; |
| 238 | |
| 239 | int |
| 240 | dev_init(void) |
| 241 | { |
| 242 | register_reboot_notifier(&reboot_notifier_block); |
| 243 | register_pm_notifier(&pm_notifier_block); |
| 244 | |
| 245 | serial_init(); |
| 246 | |
| 247 | if (loader_init()) { |
| 248 | bferror("loader_init failed"); |
| 249 | goto loader_init_failed; |
| 250 | } |
| 251 | |
| 252 | if (misc_register(&bareflank_dev)) { |
| 253 | bferror("misc_register failed"); |
| 254 | goto misc_register_failed; |
| 255 | } |
| 256 | |
| 257 | return 0; |
| 258 | |
| 259 | misc_deregister(&bareflank_dev); |
| 260 | misc_register_failed: |
| 261 | |
| 262 | loader_fini(); |
| 263 | loader_init_failed: |
| 264 | |
| 265 | unregister_pm_notifier(&pm_notifier_block); |
| 266 | unregister_reboot_notifier(&reboot_notifier_block); |
| 267 | |
| 268 | return -EPERM; |
| 269 | } |
| 270 | |
| 271 | void |
| 272 | dev_exit(void) |
nothing calls this directly
no test coverage detected