In preparation for future extensions, rename functions to use sdw_bus_master prefix and add a parent and fwnode argument to sdw_bus_master_add to help with device registration in follow-up patches. No functionality change, just renames and additional arguments. The Intel code is currently unused, the two additional arguments are only needed for compilation.
Unified · Split
| @@ -101,10 +101,11 @@ Following is the Bus API to register the SoundWire Bus: · 100 unmodified lines | |||
| 101 | 101 | ||
| 102 | .. code-block:: c | 102 | .. code-block:: c |
| 103 | 103 | ||
| 104 | int sdw_add_bus_master(struct sdw_bus *bus) | 104 | int sdw_bus_master_add(struct sdw_bus *bus, |
| 105 | struct device *parent, | ||
| 106 | struct fwnode_handle) | ||
| 105 | { | 107 | { |
| 106 | if (!bus->dev) | 108 | sdw_master_device_add(bus, parent, fwnode); |
| 107 | return -ENODEV; | ||
| 108 | 109 | ||
| 109 | mutex_init(&bus->lock); | 110 | mutex_init(&bus->lock); |
| 110 | INIT_LIST_HEAD(&bus->slaves); | 111 | INIT_LIST_HEAD(&bus->slaves); |
| @@ -10,13 +10,16 @@ · 9 unmodified lines | |||
| 10 | #include "bus.h" | 10 | #include "bus.h" |
| 11 | 11 | ||
| 12 | /** | 12 | /** |
| 13 | * sdw_add_bus_master() - add a bus Master instance | 13 | * sdw_bus_master_add() - add a bus Master instance |
| 14 | * @bus: bus instance | 14 | * @bus: bus instance |
| 15 | * @parent: parent device | ||
| 16 | * @fwnode: firmware node handle | ||
| 15 | * | 17 | * |
| 16 | * Initializes the bus instance, read properties and create child | 18 | * Initializes the bus instance, read properties and create child |
| 17 | * devices. | 19 | * devices. |
| 18 | */ | 20 | */ |
| 19 | int sdw_add_bus_master(struct sdw_bus *bus) | 21 | int sdw_bus_master_add(struct sdw_bus *bus, struct device *parent, |
| 22 | struct fwnode_handle *fwnode) | ||
| 20 | { | 23 | { |
| 21 | struct sdw_master_prop *prop = NULL; | 24 | struct sdw_master_prop *prop = NULL; |
| 22 | int ret; | 25 | int ret; |
| @@ -107,7 +110,7 @@ int sdw_add_bus_master(struct sdw_bus *bus) · 84 unmodified lines | |||
| 107 | 110 | ||
| 108 | return 0; | 111 | return 0; |
| 109 | } | 112 | } |
| 110 | EXPORT_SYMBOL(sdw_add_bus_master); | 113 | EXPORT_SYMBOL(sdw_bus_master_add); |
| 111 | 114 | ||
| 112 | static int sdw_delete_slave(struct device *dev, void *data) | 115 | static int sdw_delete_slave(struct device *dev, void *data) |
| 113 | { | 116 | { |
| @@ -131,18 +134,18 @@ static int sdw_delete_slave(struct device *dev, void *data) · 17 unmodified lines | |||
| 131 | } | 134 | } |
| 132 | 135 | ||
| 133 | /** | 136 | /** |
| 134 | * sdw_delete_bus_master() - delete the bus master instance | 137 | * sdw_bus_master_delete() - delete the bus master instance |
| 135 | * @bus: bus to be deleted | 138 | * @bus: bus to be deleted |
| 136 | * | 139 | * |
| 137 | * Remove the instance, delete the child devices. | 140 | * Remove the instance, delete the child devices. |
| 138 | */ | 141 | */ |
| 139 | void sdw_delete_bus_master(struct sdw_bus *bus) | 142 | void sdw_bus_master_delete(struct sdw_bus *bus) |
| 140 | { | 143 | { |
| 141 | device_for_each_child(bus->dev, NULL, sdw_delete_slave); | 144 | device_for_each_child(bus->dev, NULL, sdw_delete_slave); |
| 142 | 145 | ||
| 143 | sdw_bus_debugfs_exit(bus); | 146 | sdw_bus_debugfs_exit(bus); |
| 144 | } | 147 | } |
| 145 | EXPORT_SYMBOL(sdw_delete_bus_master); | 148 | EXPORT_SYMBOL(sdw_bus_master_delete); |
| 146 | 149 | ||
| 147 | /* | 150 | /* |
| 148 | * SDW IO Calls | 151 | * SDW IO Calls |
| @@ -1110,9 +1110,9 @@ static int intel_probe(struct platform_device *pdev) · 1109 unmodified lines | |||
| 1110 | 1110 | ||
| 1111 | platform_set_drvdata(pdev, sdw); | 1111 | platform_set_drvdata(pdev, sdw); |
| 1112 | 1112 | ||
| 1113 | ret = sdw_add_bus_master(&sdw->cdns.bus); | 1113 | ret = sdw_bus_master_add(&sdw->cdns.bus, &pdev->dev, pdev->dev.fwnode); |
| 1114 | if (ret) { | 1114 | if (ret) { |
| 1115 | dev_err(&pdev->dev, "sdw_add_bus_master fail: %d\n", ret); | 1115 | dev_err(&pdev->dev, "sdw_bus_master_add fail: %d\n", ret); |
| 1116 | return ret; | 1116 | return ret; |
| 1117 | } | 1117 | } |
| 1118 | 1118 | ||
| @@ -1173,7 +1173,7 @@ err_interrupt: · 54 unmodified lines | |||
| 1173 | sdw_cdns_enable_interrupt(&sdw->cdns, false); | 1173 | sdw_cdns_enable_interrupt(&sdw->cdns, false); |
| 1174 | free_irq(sdw->link_res->irq, sdw); | 1174 | free_irq(sdw->link_res->irq, sdw); |
| 1175 | err_init: | 1175 | err_init: |
| 1176 | sdw_delete_bus_master(&sdw->cdns.bus); | 1176 | sdw_bus_master_delete(&sdw->cdns.bus); |
| 1177 | return ret; | 1177 | return ret; |
| 1178 | } | 1178 | } |
| 1179 | 1179 | ||
| @@ -1189,7 +1189,7 @@ static int intel_remove(struct platform_device *pdev) · 9 unmodified lines | |||
| 1189 | free_irq(sdw->link_res->irq, sdw); | 1189 | free_irq(sdw->link_res->irq, sdw); |
| 1190 | snd_soc_unregister_component(sdw->cdns.dev); | 1190 | snd_soc_unregister_component(sdw->cdns.dev); |
| 1191 | } | 1191 | } |
| 1192 | sdw_delete_bus_master(&sdw->cdns.bus); | 1192 | sdw_bus_master_delete(&sdw->cdns.bus); |
| 1193 | 1193 | ||
| 1194 | return 0; | 1194 | return 0; |
| 1195 | } | 1195 | } |
| @@ -822,7 +822,7 @@ static int qcom_swrm_probe(struct platform_device *pdev) · 821 unmodified lines | |||
| 822 | goto err_clk; | 822 | goto err_clk; |
| 823 | } | 823 | } |
| 824 | 824 | ||
| 825 | ret = sdw_add_bus_master(&ctrl->bus); | 825 | ret = sdw_bus_master_add(&ctrl->bus, dev, dev->fwnode); |
| 826 | if (ret) { | 826 | if (ret) { |
| 827 | dev_err(dev, "Failed to register Soundwire controller (%d)\n", | 827 | dev_err(dev, "Failed to register Soundwire controller (%d)\n", |
| 828 | ret); | 828 | ret); |
| @@ -841,7 +841,7 @@ static int qcom_swrm_probe(struct platform_device *pdev) · 12 unmodified lines | |||
| 841 | return 0; | 841 | return 0; |
| 842 | 842 | ||
| 843 | err_master_add: | 843 | err_master_add: |
| 844 | sdw_delete_bus_master(&ctrl->bus); | 844 | sdw_bus_master_delete(&ctrl->bus); |
| 845 | err_clk: | 845 | err_clk: |
| 846 | clk_disable_unprepare(ctrl->hclk); | 846 | clk_disable_unprepare(ctrl->hclk); |
| 847 | err_init: | 847 | err_init: |
| @@ -852,7 +852,7 @@ static int qcom_swrm_remove(struct platform_device *pdev) · 4 unmodified lines | |||
| 852 | { | 852 | { |
| 853 | struct qcom_swrm_ctrl *ctrl = dev_get_drvdata(&pdev->dev); | 853 | struct qcom_swrm_ctrl *ctrl = dev_get_drvdata(&pdev->dev); |
| 854 | 854 | ||
| 855 | sdw_delete_bus_master(&ctrl->bus); | 855 | sdw_bus_master_delete(&ctrl->bus); |
| 856 | clk_disable_unprepare(ctrl->hclk); | 856 | clk_disable_unprepare(ctrl->hclk); |
| 857 | 857 | ||
| 858 | return 0; | 858 | return 0; |
| @@ -832,8 +832,9 @@ struct sdw_bus { · 831 unmodified lines | |||
| 832 | bool multi_link; | 832 | bool multi_link; |
| 833 | }; | 833 | }; |
| 834 | 834 | ||
| 835 | int sdw_add_bus_master(struct sdw_bus *bus); | 835 | int sdw_bus_master_add(struct sdw_bus *bus, struct device *parent, |
| 836 | void sdw_delete_bus_master(struct sdw_bus *bus); | 836 | struct fwnode_handle *fwnode); |
| 837 | void sdw_bus_master_delete(struct sdw_bus *bus); | ||
| 837 | 838 | ||
| 838 | /** | 839 | /** |
| 839 | * sdw_port_config: Master or Slave Port configuration | 840 | * sdw_port_config: Master or Slave Port configuration |