Loading drivers/of/Kconfig +0 −6 Original line number Diff line number Diff line Loading @@ -99,12 +99,6 @@ config OF_RESERVED_MEM_CHECK config OF_RESOLVE bool config OF_SLIMBUS def_tristate SLIMBUS depends on SLIMBUS help OpenFirmware SLIMBUS accessors config OF_OVERLAY bool "Device Tree overlays" select OF_DYNAMIC Loading drivers/of/Makefile +0 −1 Original line number Diff line number Diff line Loading @@ -12,7 +12,6 @@ obj-$(CONFIG_OF_UNITTEST) += unittest.o obj-$(CONFIG_OF_MDIO) += of_mdio.o obj-$(CONFIG_OF_RESERVED_MEM) += of_reserved_mem.o obj-$(CONFIG_OF_RESOLVE) += resolver.o obj-$(CONFIG_OF_SLIMBUS) += of_slimbus.o obj-$(CONFIG_OF_OVERLAY) += overlay.o obj-$(CONFIG_OF_NUMA) += of_numa.o Loading drivers/of/of_slimbus.cdeleted 100644 → 0 +0 −85 Original line number Diff line number Diff line // SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2016-2019, The Linux Foundation. All rights reserved. */ /* OF helpers for SLIMbus */ #include <linux/slimbus/slimbus.h> #include <linux/irq.h> #include <linux/slab.h> #include <linux/of.h> #include <linux/of_irq.h> #include <linux/of_slimbus.h> int of_register_slim_devices(struct slim_controller *ctrl) { struct device_node *node; struct slim_boardinfo *binfo = NULL; struct slim_boardinfo *temp; int n = 0; int ret = 0; if (!ctrl->dev.of_node) return -EINVAL; for_each_available_child_of_node(ctrl->dev.of_node, node) { struct property *prop; struct slim_device *slim; char *name; prop = of_find_property(node, "elemental-addr", NULL); if (!prop || prop->length != 6) { dev_err(&ctrl->dev, "of_slim: invalid E-addr\n"); continue; } name = kzalloc(SLIMBUS_NAME_SIZE, GFP_KERNEL); if (!name) { ret = -ENOMEM; of_node_put(node); goto of_slim_err; } if (of_modalias_node(node, name, SLIMBUS_NAME_SIZE) < 0) { dev_err(&ctrl->dev, "of_slim: modalias failure on %s\n", node->full_name); kfree(name); continue; } slim = kzalloc(sizeof(struct slim_device), GFP_KERNEL); if (!slim) { ret = -ENOMEM; kfree(name); of_node_put(node); goto of_slim_err; } memcpy(slim->e_addr, prop->value, 6); temp = krealloc(binfo, (n + 1) * sizeof(struct slim_boardinfo), GFP_KERNEL); if (!temp) { kfree(name); kfree(slim); ret = -ENOMEM; of_node_put(node); goto of_slim_err; } binfo = temp; slim->dev.of_node = of_node_get(node); slim->name = (const char *)name; binfo[n].bus_num = ctrl->nr; binfo[n].slim_slave = slim; n++; } ret = slim_register_board_info(binfo, n); if (!ret) goto of_slim_ret; of_slim_err: while (n-- > 0) { kfree(binfo[n].slim_slave->name); kfree(binfo[n].slim_slave); } of_slim_ret: kfree(binfo); return ret; } EXPORT_SYMBOL(of_register_slim_devices); drivers/slimbus/Kconfig +2 −1 Original line number Diff line number Diff line Loading @@ -3,7 +3,7 @@ # SLIMbus driver configuration # menuconfig SLIMBUS bool "SLIMbus support" tristate "SLIMbus support" depends on HAS_IOMEM help Slimbus is standard interface between baseband and Loading Loading @@ -50,4 +50,5 @@ config SLIMBUS_MSM_NGD the bus using messaging interface, and communicating with master component residing on ADSP for bandwidth and data-channel management. endif drivers/slimbus/Makefile +2 −1 Original line number Diff line number Diff line Loading @@ -4,4 +4,5 @@ # obj-$(CONFIG_SLIMBUS) += slimbus.o obj-$(CONFIG_SLIMBUS_MSM_CTRL) += slim-msm.o slim-msm-ctrl.o obj-$(CONFIG_SLIMBUS_MSM_NGD) += slim-msm.o slim-msm-ngd.o obj-$(CONFIG_SLIMBUS_MSM_NGD) += slimbus-ngd.o slimbus-ngd-y := slim-msm.o slim-msm-ngd.o Loading
drivers/of/Kconfig +0 −6 Original line number Diff line number Diff line Loading @@ -99,12 +99,6 @@ config OF_RESERVED_MEM_CHECK config OF_RESOLVE bool config OF_SLIMBUS def_tristate SLIMBUS depends on SLIMBUS help OpenFirmware SLIMBUS accessors config OF_OVERLAY bool "Device Tree overlays" select OF_DYNAMIC Loading
drivers/of/Makefile +0 −1 Original line number Diff line number Diff line Loading @@ -12,7 +12,6 @@ obj-$(CONFIG_OF_UNITTEST) += unittest.o obj-$(CONFIG_OF_MDIO) += of_mdio.o obj-$(CONFIG_OF_RESERVED_MEM) += of_reserved_mem.o obj-$(CONFIG_OF_RESOLVE) += resolver.o obj-$(CONFIG_OF_SLIMBUS) += of_slimbus.o obj-$(CONFIG_OF_OVERLAY) += overlay.o obj-$(CONFIG_OF_NUMA) += of_numa.o Loading
drivers/of/of_slimbus.cdeleted 100644 → 0 +0 −85 Original line number Diff line number Diff line // SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2016-2019, The Linux Foundation. All rights reserved. */ /* OF helpers for SLIMbus */ #include <linux/slimbus/slimbus.h> #include <linux/irq.h> #include <linux/slab.h> #include <linux/of.h> #include <linux/of_irq.h> #include <linux/of_slimbus.h> int of_register_slim_devices(struct slim_controller *ctrl) { struct device_node *node; struct slim_boardinfo *binfo = NULL; struct slim_boardinfo *temp; int n = 0; int ret = 0; if (!ctrl->dev.of_node) return -EINVAL; for_each_available_child_of_node(ctrl->dev.of_node, node) { struct property *prop; struct slim_device *slim; char *name; prop = of_find_property(node, "elemental-addr", NULL); if (!prop || prop->length != 6) { dev_err(&ctrl->dev, "of_slim: invalid E-addr\n"); continue; } name = kzalloc(SLIMBUS_NAME_SIZE, GFP_KERNEL); if (!name) { ret = -ENOMEM; of_node_put(node); goto of_slim_err; } if (of_modalias_node(node, name, SLIMBUS_NAME_SIZE) < 0) { dev_err(&ctrl->dev, "of_slim: modalias failure on %s\n", node->full_name); kfree(name); continue; } slim = kzalloc(sizeof(struct slim_device), GFP_KERNEL); if (!slim) { ret = -ENOMEM; kfree(name); of_node_put(node); goto of_slim_err; } memcpy(slim->e_addr, prop->value, 6); temp = krealloc(binfo, (n + 1) * sizeof(struct slim_boardinfo), GFP_KERNEL); if (!temp) { kfree(name); kfree(slim); ret = -ENOMEM; of_node_put(node); goto of_slim_err; } binfo = temp; slim->dev.of_node = of_node_get(node); slim->name = (const char *)name; binfo[n].bus_num = ctrl->nr; binfo[n].slim_slave = slim; n++; } ret = slim_register_board_info(binfo, n); if (!ret) goto of_slim_ret; of_slim_err: while (n-- > 0) { kfree(binfo[n].slim_slave->name); kfree(binfo[n].slim_slave); } of_slim_ret: kfree(binfo); return ret; } EXPORT_SYMBOL(of_register_slim_devices);
drivers/slimbus/Kconfig +2 −1 Original line number Diff line number Diff line Loading @@ -3,7 +3,7 @@ # SLIMbus driver configuration # menuconfig SLIMBUS bool "SLIMbus support" tristate "SLIMbus support" depends on HAS_IOMEM help Slimbus is standard interface between baseband and Loading Loading @@ -50,4 +50,5 @@ config SLIMBUS_MSM_NGD the bus using messaging interface, and communicating with master component residing on ADSP for bandwidth and data-channel management. endif
drivers/slimbus/Makefile +2 −1 Original line number Diff line number Diff line Loading @@ -4,4 +4,5 @@ # obj-$(CONFIG_SLIMBUS) += slimbus.o obj-$(CONFIG_SLIMBUS_MSM_CTRL) += slim-msm.o slim-msm-ctrl.o obj-$(CONFIG_SLIMBUS_MSM_NGD) += slim-msm.o slim-msm-ngd.o obj-$(CONFIG_SLIMBUS_MSM_NGD) += slimbus-ngd.o slimbus-ngd-y := slim-msm.o slim-msm-ngd.o