mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-10 12:57:06 +09:00
amba-clcd: Remove check for 'reg' value in clcdfb_probe
This check was attempting to ensure only one clcd device in the device-tree was probed, however the check fails in the valid case where the device is a child of another device and the 'reg' value is a offset from the start of that other device, not an absolute address. This occurs on vexpress with the motherboard clcd being a child of iofga. For now, we will just have to rely on there only being one display device specified in device-tree. Signed-off-by: Jon Medhurst <tixy@linaro.org>
This commit is contained in:
@@ -768,21 +768,6 @@ static int clcdfb_probe(struct amba_device *dev, const struct amba_id *id)
|
||||
|
||||
#ifdef CONFIG_OF
|
||||
if (dev->dev.of_node) {
|
||||
const __be32 *prop;
|
||||
int len, na, ns;
|
||||
phys_addr_t reg_base;
|
||||
|
||||
na = of_n_addr_cells(dev->dev.of_node);
|
||||
ns = of_n_size_cells(dev->dev.of_node);
|
||||
|
||||
prop = of_get_property(dev->dev.of_node, "reg", &len);
|
||||
if (WARN_ON(!prop || len < (na + ns) * sizeof(*prop)))
|
||||
return -EINVAL;
|
||||
reg_base = of_read_number(prop, na);
|
||||
|
||||
if (dev->res.start != reg_base)
|
||||
return -EINVAL;
|
||||
|
||||
if (!board) {
|
||||
board = kzalloc(sizeof(struct clcd_board), GFP_KERNEL);
|
||||
if (!board)
|
||||
|
||||
Reference in New Issue
Block a user