提交 2c39c9e1 编写于 作者: R Russell King

ARM: Fix section build warnings for AMBA drivers

Found in the Versatile build:

WARNING: drivers/built-in.o(.data+0x14c): Section mismatch in reference from the variable pl061_gpio_driver to the (unknown reference) .init.data:(unknown)
The variable pl061_gpio_driver references
the (unknown reference) __initdata (unknown)

WARNING: drivers/built-in.o(.data+0x40f8): Section mismatch in reference from the variable pl011_driver to the (unknown reference) .init.data:(unknown)
The variable pl011_driver references
the (unknown reference) __initdata (unknown)

WARNING: drivers/built-in.o(.data+0x5ab4): Section mismatch in reference from the variable pl031_driver to the (unknown reference) .init.data:(unknown)
The variable pl031_driver references
the (unknown reference) __initdata (unknown)

Basically, amba_id structures must not be __initdata.  Also fix:

WARNING: drivers/built-in.o(.data+0x138): Section mismatch in reference from the variable pl061_gpio_driver to the function .init.text:pl061_probe()
The variable pl061_gpio_driver references
the function __init pl061_probe()

which is an incorrectly annotated probe function.  Fix it to reflect
the other AMBA bus probe functions by removing the __init attributation.
Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
上级 3d3f78d7
...@@ -232,7 +232,7 @@ static void pl061_irq_handler(unsigned irq, struct irq_desc *desc) ...@@ -232,7 +232,7 @@ static void pl061_irq_handler(unsigned irq, struct irq_desc *desc)
desc->chip->unmask(irq); desc->chip->unmask(irq);
} }
static int __init pl061_probe(struct amba_device *dev, struct amba_id *id) static int pl061_probe(struct amba_device *dev, struct amba_id *id)
{ {
struct pl061_platform_data *pdata; struct pl061_platform_data *pdata;
struct pl061_gpio *chip; struct pl061_gpio *chip;
...@@ -333,7 +333,7 @@ static int __init pl061_probe(struct amba_device *dev, struct amba_id *id) ...@@ -333,7 +333,7 @@ static int __init pl061_probe(struct amba_device *dev, struct amba_id *id)
return ret; return ret;
} }
static struct amba_id pl061_ids[] __initdata = { static struct amba_id pl061_ids[] = {
{ {
.id = 0x00041061, .id = 0x00041061,
.mask = 0x000fffff, .mask = 0x000fffff,
......
...@@ -456,7 +456,7 @@ static struct rtc_class_ops stv2_pl031_ops = { ...@@ -456,7 +456,7 @@ static struct rtc_class_ops stv2_pl031_ops = {
.irq_set_freq = pl031_irq_set_freq, .irq_set_freq = pl031_irq_set_freq,
}; };
static struct amba_id pl031_ids[] __initdata = { static struct amba_id pl031_ids[] = {
{ {
.id = 0x00041031, .id = 0x00041031,
.mask = 0x000fffff, .mask = 0x000fffff,
......
...@@ -782,7 +782,7 @@ static int pl010_resume(struct amba_device *dev) ...@@ -782,7 +782,7 @@ static int pl010_resume(struct amba_device *dev)
return 0; return 0;
} }
static struct amba_id pl010_ids[] __initdata = { static struct amba_id pl010_ids[] = {
{ {
.id = 0x00041010, .id = 0x00041010,
.mask = 0x000fffff, .mask = 0x000fffff,
......
...@@ -930,7 +930,7 @@ static int pl011_resume(struct amba_device *dev) ...@@ -930,7 +930,7 @@ static int pl011_resume(struct amba_device *dev)
} }
#endif #endif
static struct amba_id pl011_ids[] __initdata = { static struct amba_id pl011_ids[] = {
{ {
.id = 0x00041011, .id = 0x00041011,
.mask = 0x000fffff, .mask = 0x000fffff,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册