[PATCH v2] PCI: ibmphp: Convert from double pointer to single pointer parameter

From: Abd-Alrhman Masalkhi
Date: Fri Aug 19 2022 - 08:38:22 EST


Change the parameter of type 'struct slot **' to 'struct slot *' of
ibmphp_init_devno() since using a double pointer is unnecessary in
this case and converting it to a single pointer parameter is better
for performance and readability.

Signed-off-by: Abd-Alrhman Masalkhi <abd.masalkhi@xxxxxxxxx>
---
drivers/pci/hotplug/TODO | 3 ---
drivers/pci/hotplug/ibmphp.h | 2 +-
drivers/pci/hotplug/ibmphp_core.c | 30 +++++++++++++++---------------
drivers/pci/hotplug/ibmphp_ebda.c | 2 +-
4 files changed, 17 insertions(+), 20 deletions(-)

diff --git a/drivers/pci/hotplug/TODO b/drivers/pci/hotplug/TODO
index 88f217c82b4f..63a9fed407ed 100644
--- a/drivers/pci/hotplug/TODO
+++ b/drivers/pci/hotplug/TODO
@@ -30,9 +30,6 @@ ibmphp:
or ibmphp should store a pointer to its bus in struct slot. Probably the
former.

-* ibmphp_init_devno() takes a struct slot **, it could instead take a
- struct slot *.
-
* The return value of pci_hp_register() is not checked.

* The various slot data structures are difficult to follow and need to be
diff --git a/drivers/pci/hotplug/ibmphp.h b/drivers/pci/hotplug/ibmphp.h
index 0399c60d2ec1..28fe92cf544a 100644
--- a/drivers/pci/hotplug/ibmphp.h
+++ b/drivers/pci/hotplug/ibmphp.h
@@ -734,7 +734,7 @@ struct controller {

/* Functions */

-int ibmphp_init_devno(struct slot **); /* This function is called from EBDA, so we need it not be static */
+int ibmphp_init_devno(struct slot *cur_slot); /* This function is called from EBDA, so we need it not be static */
int ibmphp_do_disable_slot(struct slot *slot_cur);
int ibmphp_update_slot_info(struct slot *); /* This function is called from HPC, so we need it to not be static */
int ibmphp_configure_card(struct pci_func *, u8);
diff --git a/drivers/pci/hotplug/ibmphp_core.c b/drivers/pci/hotplug/ibmphp_core.c
index 197997e264a2..107752b11f2c 100644
--- a/drivers/pci/hotplug/ibmphp_core.c
+++ b/drivers/pci/hotplug/ibmphp_core.c
@@ -109,7 +109,7 @@ static int __init get_max_slots(void)
* Parameters: struct slot
* Returns 0 or errors
*/
-int ibmphp_init_devno(struct slot **cur_slot)
+int ibmphp_init_devno(struct slot *cur_slot)
{
struct irq_routing_table *rtable;
int len;
@@ -130,21 +130,21 @@ int ibmphp_init_devno(struct slot **cur_slot)
return -1;
}
for (loop = 0; loop < len; loop++) {
- if ((*cur_slot)->number == rtable->slots[loop].slot &&
- (*cur_slot)->bus == rtable->slots[loop].bus) {
- (*cur_slot)->device = PCI_SLOT(rtable->slots[loop].devfn);
+ if (cur_slot->number == rtable->slots[loop].slot &&
+ cur_slot->bus == rtable->slots[loop].bus) {
+ cur_slot->device = PCI_SLOT(rtable->slots[loop].devfn);
for (i = 0; i < 4; i++)
- (*cur_slot)->irq[i] = IO_APIC_get_PCI_irq_vector((int) (*cur_slot)->bus,
- (int) (*cur_slot)->device, i);
-
- debug("(*cur_slot)->irq[0] = %x\n",
- (*cur_slot)->irq[0]);
- debug("(*cur_slot)->irq[1] = %x\n",
- (*cur_slot)->irq[1]);
- debug("(*cur_slot)->irq[2] = %x\n",
- (*cur_slot)->irq[2]);
- debug("(*cur_slot)->irq[3] = %x\n",
- (*cur_slot)->irq[3]);
+ cur_slot->irq[i] = IO_APIC_get_PCI_irq_vector((int) cur_slot->bus,
+ (int) cur_slot->device, i);
+
+ debug("cur_slot->irq[0] = %x\n",
+ cur_slot->irq[0]);
+ debug("cur_slot->irq[1] = %x\n",
+ cur_slot->irq[1]);
+ debug("cur_slot->irq[2] = %x\n",
+ cur_slot->irq[2]);
+ debug("cur_slot->irq[3] = %x\n",
+ cur_slot->irq[3]);

debug("rtable->exclusive_irqs = %x\n",
rtable->exclusive_irqs);
diff --git a/drivers/pci/hotplug/ibmphp_ebda.c b/drivers/pci/hotplug/ibmphp_ebda.c
index 7fb75401ad8a..5c7821ad9c2c 100644
--- a/drivers/pci/hotplug/ibmphp_ebda.c
+++ b/drivers/pci/hotplug/ibmphp_ebda.c
@@ -880,7 +880,7 @@ static int __init ebda_rsrc_controller(void)
if (rc)
goto error;

- rc = ibmphp_init_devno(&tmp_slot);
+ rc = ibmphp_init_devno(tmp_slot);
if (rc)
goto error;
tmp_slot->hotplug_slot.ops = &ibmphp_hotplug_slot_ops;
--
2.29.0.rc1.dirty