OpenWrt – Blame information for rev 1
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
1 | office | 1 | From ece6072fd68653329941477989fa12fd1334c001 Mon Sep 17 00:00:00 2001 |
2 | From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org> |
||
3 | Date: Fri, 26 Jun 2015 14:25:01 +0200 |
||
4 | Subject: [PATCH 052/454] firmware: bcm2835: Support ARCH_BCM270x |
||
5 | MIME-Version: 1.0 |
||
6 | Content-Type: text/plain; charset=UTF-8 |
||
7 | Content-Transfer-Encoding: 8bit |
||
8 | |||
9 | Support booting without Device Tree. |
||
10 | Turn on USB power. |
||
11 | Load driver early because of lacking support for deferred probing |
||
12 | in many drivers. |
||
13 | |||
14 | Signed-off-by: Noralf Trønnes <noralf@tronnes.org> |
||
15 | |||
16 | firmware: bcm2835: Don't turn on USB power |
||
17 | |||
18 | The raspberrypi-power driver is now used to turn on USB power. |
||
19 | |||
20 | This partly reverts commit: |
||
21 | firmware: bcm2835: Support ARCH_BCM270x |
||
22 | |||
23 | Signed-off-by: Noralf Trønnes <noralf@tronnes.org> |
||
24 | --- |
||
25 | drivers/firmware/raspberrypi.c | 19 +++++++++++++++++-- |
||
26 | 1 file changed, 17 insertions(+), 2 deletions(-) |
||
27 | |||
28 | --- a/drivers/firmware/raspberrypi.c |
||
29 | +++ b/drivers/firmware/raspberrypi.c |
||
30 | @@ -28,6 +28,8 @@ struct rpi_firmware { |
||
31 | u32 enabled; |
||
32 | }; |
||
33 | |||
34 | +static struct platform_device *g_pdev; |
||
35 | + |
||
36 | static DEFINE_MUTEX(transaction_lock); |
||
37 | |||
38 | static void response_callback(struct mbox_client *cl, void *msg) |
||
39 | @@ -207,6 +209,7 @@ static int rpi_firmware_probe(struct pla |
||
40 | init_completion(&fw->c); |
||
41 | |||
42 | platform_set_drvdata(pdev, fw); |
||
43 | + g_pdev = pdev; |
||
44 | |||
45 | rpi_firmware_print_firmware_revision(fw); |
||
46 | |||
47 | @@ -218,6 +221,7 @@ static int rpi_firmware_remove(struct pl |
||
48 | struct rpi_firmware *fw = platform_get_drvdata(pdev); |
||
49 | |||
50 | mbox_free_channel(fw->chan); |
||
51 | + g_pdev = NULL; |
||
52 | |||
53 | return 0; |
||
54 | } |
||
55 | @@ -230,7 +234,7 @@ static int rpi_firmware_remove(struct pl |
||
56 | */ |
||
57 | struct rpi_firmware *rpi_firmware_get(struct device_node *firmware_node) |
||
58 | { |
||
59 | - struct platform_device *pdev = of_find_device_by_node(firmware_node); |
||
60 | + struct platform_device *pdev = g_pdev; |
||
61 | |||
62 | if (!pdev) |
||
63 | return NULL; |
||
64 | @@ -253,7 +257,18 @@ static struct platform_driver rpi_firmwa |
||
65 | .probe = rpi_firmware_probe, |
||
66 | .remove = rpi_firmware_remove, |
||
67 | }; |
||
68 | -module_platform_driver(rpi_firmware_driver); |
||
69 | + |
||
70 | +static int __init rpi_firmware_init(void) |
||
71 | +{ |
||
72 | + return platform_driver_register(&rpi_firmware_driver); |
||
73 | +} |
||
74 | +subsys_initcall(rpi_firmware_init); |
||
75 | + |
||
76 | +static void __init rpi_firmware_exit(void) |
||
77 | +{ |
||
78 | + platform_driver_unregister(&rpi_firmware_driver); |
||
79 | +} |
||
80 | +module_exit(rpi_firmware_exit); |
||
81 | |||
82 | MODULE_AUTHOR("Eric Anholt <eric@anholt.net>"); |
||
83 | MODULE_DESCRIPTION("Raspberry Pi firmware driver"); |