|
@@ -2032,8 +2032,7 @@ atmel_hsmc_nand_controller_legacy_init(struct atmel_hsmc_nand_controller *nc)
|
|
|
int ret;
|
|
|
|
|
|
nand_np = dev->of_node;
|
|
|
- nfc_np = of_find_compatible_node(dev->of_node, NULL,
|
|
|
- "atmel,sama5d3-nfc");
|
|
|
+ nfc_np = of_get_compatible_child(dev->of_node, "atmel,sama5d3-nfc");
|
|
|
if (!nfc_np) {
|
|
|
dev_err(dev, "Could not find device node for sama5d3-nfc\n");
|
|
|
return -ENODEV;
|
|
@@ -2447,15 +2446,19 @@ static int atmel_nand_controller_probe(struct platform_device *pdev)
|
|
|
}
|
|
|
|
|
|
if (caps->legacy_of_bindings) {
|
|
|
+ struct device_node *nfc_node;
|
|
|
u32 ale_offs = 21;
|
|
|
|
|
|
/*
|
|
|
* If we are parsing legacy DT props and the DT contains a
|
|
|
* valid NFC node, forward the request to the sama5 logic.
|
|
|
*/
|
|
|
- if (of_find_compatible_node(pdev->dev.of_node, NULL,
|
|
|
- "atmel,sama5d3-nfc"))
|
|
|
+ nfc_node = of_get_compatible_child(pdev->dev.of_node,
|
|
|
+ "atmel,sama5d3-nfc");
|
|
|
+ if (nfc_node) {
|
|
|
caps = &atmel_sama5_nand_caps;
|
|
|
+ of_node_put(nfc_node);
|
|
|
+ }
|
|
|
|
|
|
/*
|
|
|
* Even if the compatible says we are dealing with an
|