On 21.11.2024 7:03 PM, Raviteja Laggyshetty wrote: > > > On 11/21/2024 5:28 PM, Krzysztof Kozlowski wrote: >> On 21/11/2024 12:30, Raviteja Laggyshetty wrote: >>> Add Epoch Subsystem (EPSS) L3 interconnect provider on >>> SA8775P SoCs with multiple device support. >>> >> >> >> ... >> >>> -DEFINE_QNODE(osm_l3_master, OSM_L3_MASTER_NODE, 16, OSM_L3_SLAVE_NODE); >>> -DEFINE_QNODE(osm_l3_slave, OSM_L3_SLAVE_NODE, 16); >>> +DEFINE_QNODE(osm_l3_master, 16, osm_l3_slave); >>> +DEFINE_QNODE(osm_l3_slave, 16); >>> >>> -static const struct qcom_osm_l3_node * const osm_l3_nodes[] = { >>> +static struct qcom_osm_l3_node * const osm_l3_nodes[] = { >>> [MASTER_OSM_L3_APPS] = &osm_l3_master, >>> [SLAVE_OSM_L3] = &osm_l3_slave, >>> }; >>> >>> -DEFINE_QNODE(epss_l3_master, OSM_L3_MASTER_NODE, 32, OSM_L3_SLAVE_NODE); >>> -DEFINE_QNODE(epss_l3_slave, OSM_L3_SLAVE_NODE, 32); >>> +DEFINE_QNODE(epss_l3_master, 32, epss_l3_slave); >>> +DEFINE_QNODE(epss_l3_slave, 32); >>> >>> -static const struct qcom_osm_l3_node * const epss_l3_nodes[] = { >>> +static struct qcom_osm_l3_node * const epss_l3_nodes[] = { >> >> >> I think dropping const makes the code worse, not better. Commit msg does >> not explain all these changes and I could not figure out the intention >> (except modifying but that's just obvious). > > EPSS L3 on SA8775P has two instances and this requires creation of two device nodes in devicetree. > As Interconnect framework requires a unique node id, each device node needs to have different compatible and data. > To overcome the need of having two different compatibles and data, driver code has been modified to acquire unique node id from IDA > and the node name is made dynamic (nodename@address). > Updating node id and node name is not possible with const. I think it would be better to just fix the interconnect API to do it internally Konrad