On Tue, Jan 07, 2003 at 01:38:17PM -0700, Bjorn Helgaas wrote:
> diff -Nru a/drivers/char/agp/generic.c b/drivers/char/agp/generic.c
> --- a/drivers/char/agp/generic.c	Tue Jan  7 12:52:25 2003
> +++ b/drivers/char/agp/generic.c	Tue Jan  7 12:52:25 2003
> @@ -314,15 +314,22 @@
>  
>  /* Generic Agp routines - Start */
>  
> -void agp_device_command(u32 command)
> +void agp_device_command(u32 command, int agp_v3)
Why not agp_version?
>  {
>  	struct pci_dev *device;
> +	int mode;
> +
> +	mode = command & 0x7;
> +	if (agp_v3)
> +		mode *= 4;
>  
>  	pci_for_each_dev(device) {
>  		u8 agp = pci_find_capability(device, PCI_CAP_ID_AGP);
>  		if (!agp)
>  			continue;
>  
> +		printk(KERN_INFO PFX "Putting AGP V%d device at %s into %dx mode\n",
> +				agp_v3 ? 3 : 2, device->slot_name, mode);
Why not use agp_version directly here?
>  		pci_write_config_dword(device, agp + 8, command);
>  	}
>  }
And always supply AGP_VERSION_1, AGP_VERSION_2, AGP_VERSION_3 and
so or simply numbers to that command?
This offers a lot of possibilities:
   - Version checking (drivers can deny commands not suitable for
     this interface, if this checking is enabled)
   - Support for AGP_VERSION_4 can be implemented without
     obfuscating the interface for older (non-compliant) drivers.
   - One check less ;-)
   - Cleaner Code
Regards
Ingo Oeser
-- Science is what we can tell a computer. Art is everything else. --- D.E.Knuth - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/