Hi Benjamin,

Few coding style nitpicks follow.

On Tue, 08 Mar 2005 18:11:59 +1100, Benjamin Herrenschmidt
<[EMAIL PROTECTED]> wrote:
> Index: linux-work/include/linux/pci.h
> ===================================================================
> --- linux-work.orig/include/linux/pci.h       2005-01-24 17:09:57.000000000 
> +1100
> +++ linux-work/include/linux/pci.h    2005-03-08 15:26:25.000000000 +1100
> @@ -1064,5 +1064,6 @@
>  #define PCIPCI_VSFX          16
>  #define PCIPCI_ALIMAGIK              32
>  
> +
>  #endif /* __KERNEL__ */
>  #endif /* LINUX_PCI_H */

Please drop whitespace noise from the patch.

> Index: linux-work/drivers/pci/vga.c
> ===================================================================
> --- /dev/null 1970-01-01 00:00:00.000000000 +0000
> +++ linux-work/drivers/pci/vga.c      2005-03-08 18:04:57.000000000 +1100
> @@ -0,0 +1,403 @@
> +static LIST_HEAD(            vga_list);

Please remove whitespace damage.

> +static spinlock_t            vga_lock;
> +static DECLARE_WAIT_QUEUE_HEAD(      vga_wait_queue);

Ditto.

> +/* Architecture can override enabling/disabling of a given
> + * device resources here
> + */
> +#ifndef __ARCH_HAS_VGA_DISABLE_RESOURCES
> +static inline void vga_disable_resources(struct pci_dev *pdev,
> +                                      unsigned int rsrc,
> +                                      unsigned int change_bridge)
> +{
> +     struct pci_bus *bus;
> +     struct pci_dev *bridge;
> +     u16 cmd;
> +
> +     pci_read_config_word(pdev, PCI_COMMAND, &cmd);
> +     if (rsrc & VGA_RSRC_IO)
> +             cmd &= ~PCI_COMMAND_IO;
> +     if (rsrc & VGA_RSRC_MEM)
> +             cmd &= ~PCI_COMMAND_MEMORY;
> +     pci_write_config_word(pdev, PCI_COMMAND, cmd);
> +
> +     if (!change_bridge)
> +             return;
> +
> +     bus = pdev->bus;
> +     while (bus) {
> +             bridge = bus->self;
> +             if (bridge) {
> +                     pci_read_config_word(bridge, PCI_BRIDGE_CONTROL, &cmd);
> +                     if (!(cmd & PCI_BRIDGE_CTL_VGA))
> +                             continue;
> +                     cmd &= ~PCI_BRIDGE_CTL_VGA;
> +                     pci_write_config_word(bridge, PCI_BRIDGE_CONTROL, cmd);
> +             }
> +             bus = bus->parent;

See comment below.

> +     }
> +}
> +#endif
> +
> +#ifndef __ARCH_HAS_VGA_ENABLE_RESOURCES
> +static inline void vga_enable_resources(struct pci_dev *pdev,
> +                                      unsigned int rsrc)
> +{
> +     struct pci_bus *bus;
> +     struct pci_dev *bridge;
> +     u16 cmd;
> +
> +     pci_read_config_word(pdev, PCI_COMMAND, &cmd);
> +     if (rsrc & VGA_RSRC_IO)
> +             cmd |= PCI_COMMAND_IO;
> +     if (rsrc & VGA_RSRC_MEM)
> +             cmd |= PCI_COMMAND_MEMORY;
> +     pci_write_config_word(pdev, PCI_COMMAND, cmd);
> +
> +     bus = pdev->bus;
> +     while (bus) {
> +             bridge = bus->self;
> +             if (bridge) {
> +                     pci_read_config_word(bridge, PCI_BRIDGE_CONTROL, &cmd);
> +                     if (cmd & PCI_BRIDGE_CTL_VGA)
> +                             continue;
> +                     cmd |= PCI_BRIDGE_CTL_VGA;
> +                     pci_write_config_word(bridge, PCI_BRIDGE_CONTROL, cmd);
> +             }
> +             bus = bus->parent;

Please consolidate both while loops into one function. One possible way would
be to do:

static void vga_update_bus(struct pci_bus *bus, unsigned int enable)
{
        while (bus) {
                bridge = bus->self;
                if (bridge) {
                        pci_read_config_word(bridge, PCI_BRIDGE_CONTROL, &cmd);
                        if (cmd & PCI_BRIDGE_CTL_VGA)
                                continue;
                        if (enable)
                                cmd |= PCI_BRIDGE_CTL_VGA;
                        else
                                cmd &= ~PCI_BRIDGE_CTL_VGA;
                        pci_write_config_word(bridge, PCI_BRIDGE_CONTROL, cmd);
                }
                bus = bus->parent;
        }
}

> +/*
> + * Currently, we assume that the "initial" setup of the system is
> + * sane, that is we don't come up with conflicting devices, which
> + * would be annoying. We could double check and be better at
> + * deciding who is the default here, but we don't. 
> + */
> +void vga_arbiter_add_pci_device(struct pci_dev *pdev)
> +{
> +     struct vga_device *vgadev;
> +     unsigned long flags;
> +     struct pci_bus *bus;
> +     struct pci_dev *bridge;
> +     u16 cmd;
> +
> +     /* Only deal with VGA class devices */
> +     if ((pdev->class >> 8) != PCI_CLASS_DISPLAY_VGA)
> +             return;
> +
> +     /* Allocate structure */
> +     vgadev = kmalloc(sizeof(struct vga_device), GFP_KERNEL);
> +     memset(vgadev, 0, sizeof(*vgadev));

Please consider using kcalloc() here.

                                          Pekka
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to