Re: [PATCH] PCI: cpqphp: minor cleanup and removal of unreachable paths

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Dec 20, 2012 at 12:11 PM, Sasha Levin <sasha.levin@xxxxxxxxxx> wrote:
> Remove cases of redundant checks and remote unreachable paths.
>
> Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx>

Thanks, Sasha.  I applied this for v3.9.

> ---
>  drivers/pci/hotplug/cpqphp_ctrl.c | 57 ++++++++++++++-------------------------
>  1 file changed, 20 insertions(+), 37 deletions(-)
>
> diff --git a/drivers/pci/hotplug/cpqphp_ctrl.c b/drivers/pci/hotplug/cpqphp_ctrl.c
> index 36112fe..d282019 100644
> --- a/drivers/pci/hotplug/cpqphp_ctrl.c
> +++ b/drivers/pci/hotplug/cpqphp_ctrl.c
> @@ -1900,8 +1900,7 @@ static void interrupt_event_handler(struct controller *ctrl)
>                                         dbg("power fault\n");
>                                 } else {
>                                         /* refresh notification */
> -                                       if (p_slot)
> -                                               update_slot_info(ctrl, p_slot);
> +                                       update_slot_info(ctrl, p_slot);
>                                 }
>
>                                 ctrl->event_queue[loop].event_type = 0;
> @@ -2520,44 +2519,28 @@ static int configure_new_function(struct controller *ctrl, struct pci_func *func
>
>                 /* If we have IO resources copy them and fill in the bridge's
>                  * IO range registers */
> -               if (io_node) {
> -                       memcpy(hold_IO_node, io_node, sizeof(struct pci_resource));
> -                       io_node->next = NULL;
> +               memcpy(hold_IO_node, io_node, sizeof(struct pci_resource));
> +               io_node->next = NULL;
>
> -                       /* set IO base and Limit registers */
> -                       temp_byte = io_node->base >> 8;
> -                       rc = pci_bus_write_config_byte(pci_bus, devfn, PCI_IO_BASE, temp_byte);
> +               /* set IO base and Limit registers */
> +               temp_byte = io_node->base >> 8;
> +               rc = pci_bus_write_config_byte(pci_bus, devfn, PCI_IO_BASE, temp_byte);
>
> -                       temp_byte = (io_node->base + io_node->length - 1) >> 8;
> -                       rc = pci_bus_write_config_byte(pci_bus, devfn, PCI_IO_LIMIT, temp_byte);
> -               } else {
> -                       kfree(hold_IO_node);
> -                       hold_IO_node = NULL;
> -               }
> -
> -               /* If we have memory resources copy them and fill in the
> -                * bridge's memory range registers.  Otherwise, fill in the
> -                * range registers with values that disable them. */
> -               if (mem_node) {
> -                       memcpy(hold_mem_node, mem_node, sizeof(struct pci_resource));
> -                       mem_node->next = NULL;
> -
> -                       /* set Mem base and Limit registers */
> -                       temp_word = mem_node->base >> 16;
> -                       rc = pci_bus_write_config_word(pci_bus, devfn, PCI_MEMORY_BASE, temp_word);
> +               temp_byte = (io_node->base + io_node->length - 1) >> 8;
> +               rc = pci_bus_write_config_byte(pci_bus, devfn, PCI_IO_LIMIT, temp_byte);
>
> -                       temp_word = (mem_node->base + mem_node->length - 1) >> 16;
> -                       rc = pci_bus_write_config_word(pci_bus, devfn, PCI_MEMORY_LIMIT, temp_word);
> -               } else {
> -                       temp_word = 0xFFFF;
> -                       rc = pci_bus_write_config_word(pci_bus, devfn, PCI_MEMORY_BASE, temp_word);
> +               /* Copy the memory resources and fill in the bridge's memory
> +                * range registers.
> +                */
> +               memcpy(hold_mem_node, mem_node, sizeof(struct pci_resource));
> +               mem_node->next = NULL;
>
> -                       temp_word = 0x0000;
> -                       rc = pci_bus_write_config_word(pci_bus, devfn, PCI_MEMORY_LIMIT, temp_word);
> +               /* set Mem base and Limit registers */
> +               temp_word = mem_node->base >> 16;
> +               rc = pci_bus_write_config_word(pci_bus, devfn, PCI_MEMORY_BASE, temp_word);
>
> -                       kfree(hold_mem_node);
> -                       hold_mem_node = NULL;
> -               }
> +               temp_word = (mem_node->base + mem_node->length - 1) >> 16;
> +               rc = pci_bus_write_config_word(pci_bus, devfn, PCI_MEMORY_LIMIT, temp_word);
>
>                 memcpy(hold_p_mem_node, p_mem_node, sizeof(struct pci_resource));
>                 p_mem_node->next = NULL;
> @@ -2627,7 +2610,7 @@ static int configure_new_function(struct controller *ctrl, struct pci_func *func
>                 /* Return unused bus resources
>                  * First use the temporary node to store information for
>                  * the board */
> -               if (hold_bus_node && bus_node && temp_resources.bus_head) {
> +               if (bus_node && temp_resources.bus_head) {
>                         hold_bus_node->length = bus_node->base - hold_bus_node->base;
>
>                         hold_bus_node->next = func->bus_head;
> @@ -2751,7 +2734,7 @@ static int configure_new_function(struct controller *ctrl, struct pci_func *func
>                 }
>                 /* If we have prefetchable memory space available and there
>                  * is some left at the end, return the unused portion */
> -               if (hold_p_mem_node && temp_resources.p_mem_head) {
> +               if (temp_resources.p_mem_head) {
>                         p_mem_node = do_pre_bridge_resource_split(&(temp_resources.p_mem_head),
>                                                                   &hold_p_mem_node, 0x100000);
>
> --
> 1.8.0
>
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux