[PATCH] Add Intel GMA500(Poulsbo) Stub Driver

2010-11-12 Thread Zhang Rui
Hi, Lee,

there are several regressions caused by this patch,
http://marc.info/?l=linux-acpi=128872402020412=2
http://marc.info/?l=linux-acpi=128858111022621=2

Yes, We can fix it by "select INPUT if ACPI"/"select
VIDEO_OUTPUT_CONTROL if ACPI".
But IMO,  STUB_POULSBO should not select ACPI_VIDEO at all,
what do you think?

thanks,
rui

On Wed, 2010-11-03 at 09:19 +0800, Zhang Rui wrote:
> Hi, Lee,
> 
> Sorry I missed this thread.
> 
> On Wed, 2010-10-20 at 13:51 +0800, Lee, Chun-Yi wrote:
> > Currently, there have no GMA500(Poulsbo) native video driver to support
> > intel opregion. So, use this stub driver to enable the acpi backlight
> > control sysfs entry files by requrest acpi_video_register.
> > 
> If you want the acpi backlight control, why not set CONFIG_ACPI_VIDEO
> driver directly?
> The reason why i915 driver selects ACPI_VIDEO is that it needs some
> cooperation between these two drivers during initialization, or else the
> system may hang.
> 
> thanks,
> rui
> 
> > Signed-off-by: Lee, Chun-Yi 
> > ---
> >  drivers/gpu/Makefile   |2 +-
> >  drivers/gpu/stub/Kconfig   |   13 +
> >  drivers/gpu/stub/Makefile  |1 +
> >  drivers/gpu/stub/poulsbo.c |   63 
> > 
> >  drivers/video/Kconfig  |2 +
> >  5 files changed, 80 insertions(+), 1 deletions(-)
> >  create mode 100644 drivers/gpu/stub/Kconfig
> >  create mode 100644 drivers/gpu/stub/Makefile
> >  create mode 100644 drivers/gpu/stub/poulsbo.c
> > 
> > diff --git a/drivers/gpu/Makefile b/drivers/gpu/Makefile
> > index 30879df..cc92778 100644
> > --- a/drivers/gpu/Makefile
> > +++ b/drivers/gpu/Makefile
> > @@ -1 +1 @@
> > -obj-y  += drm/ vga/
> > +obj-y  += drm/ vga/ stub/
> > diff --git a/drivers/gpu/stub/Kconfig b/drivers/gpu/stub/Kconfig
> > new file mode 100644
> > index 000..8f5a540
> > --- /dev/null
> > +++ b/drivers/gpu/stub/Kconfig
> > @@ -0,0 +1,13 @@
> > +config STUB_POULSBO
> > +   tristate "Intel GMA500 Stub Driver"
> > +   depends on PCI
> > +# Poulsbo stub depends on ACPI_VIDEO when ACPI is enabled
> > +# but for select to work, need to select ACPI_VIDEO's 
> > dependencies, ick
> > +select ACPI_VIDEO if ACPI
> > +   help
> > + Choose this option if you have a system that has Intel GMA500
> > + (Poulsbo) integrated graphics. If M is selected, the module will
> > + be called Poulsbo. This driver is a stub driver for Poulsbo that
> > + will call poulsbo.ko to enable the acpi backlight control sysfs
> > + entry file because there have no poulsbo native driver can support
> > + intel opregion.
> > diff --git a/drivers/gpu/stub/Makefile b/drivers/gpu/stub/Makefile
> > new file mode 100644
> > index 000..cd940cc
> > --- /dev/null
> > +++ b/drivers/gpu/stub/Makefile
> > @@ -0,0 +1 @@
> > +obj-$(CONFIG_STUB_POULSBO) += poulsbo.o
> > diff --git a/drivers/gpu/stub/poulsbo.c b/drivers/gpu/stub/poulsbo.c
> > new file mode 100644
> > index 000..d8aa636
> > --- /dev/null
> > +++ b/drivers/gpu/stub/poulsbo.c
> > @@ -0,0 +1,63 @@
> > +/*
> > + * Intel Poulsbo Stub driver
> > + *
> > + * Copyright (C) 2010 Novell 
> > + *
> > + * This program is free software; you can redistribute it and/or modify it
> > + * under the terms of the GNU General Public License version 2 as 
> > published by
> > + * the Free Software Foundation.
> > + *
> > + */
> > +
> > +#include 
> > +#include 
> > +#include 
> > +
> > +#define DRIVER_NAME "poulsbo"
> > +
> > +enum {
> > +   CHIP_PSB_8108 = 0,
> > +   CHIP_PSB_8109 = 1,
> > +};
> > +
> > +static struct pci_device_id pciidlist[] = {
> > +   {0x8086, 0x8108, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PSB_8108}, \
> > +   {0x8086, 0x8109, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PSB_8109}, \
> > +   {0, 0, 0}
> > +};
> > +
> > +static int poulsbo_probe(struct pci_dev *pdev, const struct pci_device_id 
> > *id)
> > +{
> > +   return acpi_video_register();
> > +}
> > +
> > +static void poulsbo_remove(struct pci_dev *pdev)
> > +{
> > +   acpi_video_unregister();
> > +}
> > +
> > +static struct pci_driver poulsbo_driver = {
> > +   .name = DRIVER_NAME,
> > +   .id_table = pciidlist,
> > +   .probe = poulsbo_probe,
> > +   .remove = poulsbo_remove,
> > +};
> > +
> > +static int __init poulsbo_init(void)
> > +{
> > +   return pci_register_driver(_driver);
> > +}
> > +
> > +static void __exit poulsbo_exit(void)
> > +{
> > +   pci_unregister_driver(_driver);
> > +}
> > +
> > +module_init(poulsbo_init);
> > +module_exit(poulsbo_exit);
> > +
> > +MODULE_AUTHOR("Lee, Chun-Yi ");
> > +MODULE_DESCRIPTION("Poulsbo Stub Driver");
> > +MODULE_LICENSE("GPL");
> > +
> > +MODULE_DEVICE_TABLE(pci, pciidlist);
> > diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
> > index 8b31fdf..8807ae5 100644
> > --- a/drivers/video/Kconfig
> > +++ b/drivers/video/Kconfig
> > @@ -17,6 +17,8 @@ source "drivers/gpu/vga/Kconfig"
> >  
> >  source "drivers/gpu/drm/Kconfig"
> >  
> > +source 

Re: [PATCH] Add Intel GMA500(Poulsbo) Stub Driver

2010-11-12 Thread Zhang Rui
Hi, Lee,

there are several regressions caused by this patch,
http://marc.info/?l=linux-acpim=128872402020412w=2
http://marc.info/?l=linux-acpim=128858111022621w=2

Yes, We can fix it by select INPUT if ACPI/select
VIDEO_OUTPUT_CONTROL if ACPI.
But IMO,  STUB_POULSBO should not select ACPI_VIDEO at all,
what do you think?

thanks,
rui

On Wed, 2010-11-03 at 09:19 +0800, Zhang Rui wrote:
 Hi, Lee,
 
 Sorry I missed this thread.
 
 On Wed, 2010-10-20 at 13:51 +0800, Lee, Chun-Yi wrote:
  Currently, there have no GMA500(Poulsbo) native video driver to support
  intel opregion. So, use this stub driver to enable the acpi backlight
  control sysfs entry files by requrest acpi_video_register.
  
 If you want the acpi backlight control, why not set CONFIG_ACPI_VIDEO
 driver directly?
 The reason why i915 driver selects ACPI_VIDEO is that it needs some
 cooperation between these two drivers during initialization, or else the
 system may hang.
 
 thanks,
 rui
 
  Signed-off-by: Lee, Chun-Yi j...@novell.com
  ---
   drivers/gpu/Makefile   |2 +-
   drivers/gpu/stub/Kconfig   |   13 +
   drivers/gpu/stub/Makefile  |1 +
   drivers/gpu/stub/poulsbo.c |   63 
  
   drivers/video/Kconfig  |2 +
   5 files changed, 80 insertions(+), 1 deletions(-)
   create mode 100644 drivers/gpu/stub/Kconfig
   create mode 100644 drivers/gpu/stub/Makefile
   create mode 100644 drivers/gpu/stub/poulsbo.c
  
  diff --git a/drivers/gpu/Makefile b/drivers/gpu/Makefile
  index 30879df..cc92778 100644
  --- a/drivers/gpu/Makefile
  +++ b/drivers/gpu/Makefile
  @@ -1 +1 @@
  -obj-y  += drm/ vga/
  +obj-y  += drm/ vga/ stub/
  diff --git a/drivers/gpu/stub/Kconfig b/drivers/gpu/stub/Kconfig
  new file mode 100644
  index 000..8f5a540
  --- /dev/null
  +++ b/drivers/gpu/stub/Kconfig
  @@ -0,0 +1,13 @@
  +config STUB_POULSBO
  +   tristate Intel GMA500 Stub Driver
  +   depends on PCI
  +# Poulsbo stub depends on ACPI_VIDEO when ACPI is enabled
  +# but for select to work, need to select ACPI_VIDEO's 
  dependencies, ick
  +select ACPI_VIDEO if ACPI
  +   help
  + Choose this option if you have a system that has Intel GMA500
  + (Poulsbo) integrated graphics. If M is selected, the module will
  + be called Poulsbo. This driver is a stub driver for Poulsbo that
  + will call poulsbo.ko to enable the acpi backlight control sysfs
  + entry file because there have no poulsbo native driver can support
  + intel opregion.
  diff --git a/drivers/gpu/stub/Makefile b/drivers/gpu/stub/Makefile
  new file mode 100644
  index 000..cd940cc
  --- /dev/null
  +++ b/drivers/gpu/stub/Makefile
  @@ -0,0 +1 @@
  +obj-$(CONFIG_STUB_POULSBO) += poulsbo.o
  diff --git a/drivers/gpu/stub/poulsbo.c b/drivers/gpu/stub/poulsbo.c
  new file mode 100644
  index 000..d8aa636
  --- /dev/null
  +++ b/drivers/gpu/stub/poulsbo.c
  @@ -0,0 +1,63 @@
  +/*
  + * Intel Poulsbo Stub driver
  + *
  + * Copyright (C) 2010 Novell j...@novell.com
  + *
  + * This program is free software; you can redistribute it and/or modify it
  + * under the terms of the GNU General Public License version 2 as 
  published by
  + * the Free Software Foundation.
  + *
  + */
  +
  +#include linux/module.h
  +#include linux/pci.h
  +#include acpi/video.h
  +
  +#define DRIVER_NAME poulsbo
  +
  +enum {
  +   CHIP_PSB_8108 = 0,
  +   CHIP_PSB_8109 = 1,
  +};
  +
  +static struct pci_device_id pciidlist[] = {
  +   {0x8086, 0x8108, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PSB_8108}, \
  +   {0x8086, 0x8109, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PSB_8109}, \
  +   {0, 0, 0}
  +};
  +
  +static int poulsbo_probe(struct pci_dev *pdev, const struct pci_device_id 
  *id)
  +{
  +   return acpi_video_register();
  +}
  +
  +static void poulsbo_remove(struct pci_dev *pdev)
  +{
  +   acpi_video_unregister();
  +}
  +
  +static struct pci_driver poulsbo_driver = {
  +   .name = DRIVER_NAME,
  +   .id_table = pciidlist,
  +   .probe = poulsbo_probe,
  +   .remove = poulsbo_remove,
  +};
  +
  +static int __init poulsbo_init(void)
  +{
  +   return pci_register_driver(poulsbo_driver);
  +}
  +
  +static void __exit poulsbo_exit(void)
  +{
  +   pci_unregister_driver(poulsbo_driver);
  +}
  +
  +module_init(poulsbo_init);
  +module_exit(poulsbo_exit);
  +
  +MODULE_AUTHOR(Lee, Chun-Yi j...@novell.com);
  +MODULE_DESCRIPTION(Poulsbo Stub Driver);
  +MODULE_LICENSE(GPL);
  +
  +MODULE_DEVICE_TABLE(pci, pciidlist);
  diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
  index 8b31fdf..8807ae5 100644
  --- a/drivers/video/Kconfig
  +++ b/drivers/video/Kconfig
  @@ -17,6 +17,8 @@ source drivers/gpu/vga/Kconfig
   
   source drivers/gpu/drm/Kconfig
   
  +source drivers/gpu/stub/Kconfig
  +
   config VGASTATE
  tristate
  default n
 


___
dri-devel mailing list
dri-devel@lists.freedesktop.org

Re: [PATCH] Add Intel GMA500(Poulsbo) Stub Driver

2010-11-12 Thread Joey Lee
Hi Rui, 

First, thank's for your review and take care.

於 五,2010-11-12 於 09:31 +0800,Zhang Rui 提到:
 Hi, Lee,
 
 there are several regressions caused by this patch,
 http://marc.info/?l=linux-acpim=128872402020412w=2
 http://marc.info/?l=linux-acpim=128858111022621w=2
 
 Yes, We can fix it by select INPUT if ACPI/select
 VIDEO_OUTPUT_CONTROL if ACPI.
 But IMO,  STUB_POULSBO should not select ACPI_VIDEO at all,
 what do you think?
 

Yes, I agreed.

We can just remove the _select ACPI_VIDEO if ACPI_ because user should
select it when they want to use.
If CONFIG_ACPI_VIDEO doesn't select, the stub poulsbo just do _not_
thing but will have no any bad thing.

So, let's direct remove it from Kconfig. Should I submit patch again?


Thank's
Joey Lee

 thanks,
 rui
 
 On Wed, 2010-11-03 at 09:19 +0800, Zhang Rui wrote:
  Hi, Lee,
  
  Sorry I missed this thread.
  
  On Wed, 2010-10-20 at 13:51 +0800, Lee, Chun-Yi wrote:
   Currently, there have no GMA500(Poulsbo) native video driver to support
   intel opregion. So, use this stub driver to enable the acpi backlight
   control sysfs entry files by requrest acpi_video_register.
   
  If you want the acpi backlight control, why not set CONFIG_ACPI_VIDEO
  driver directly?
  The reason why i915 driver selects ACPI_VIDEO is that it needs some
  cooperation between these two drivers during initialization, or else the
  system may hang.
  
  thanks,
  rui
  
   Signed-off-by: Lee, Chun-Yi j...@novell.com
   ---
drivers/gpu/Makefile   |2 +-
drivers/gpu/stub/Kconfig   |   13 +
drivers/gpu/stub/Makefile  |1 +
drivers/gpu/stub/poulsbo.c |   63 
   
drivers/video/Kconfig  |2 +
5 files changed, 80 insertions(+), 1 deletions(-)
create mode 100644 drivers/gpu/stub/Kconfig
create mode 100644 drivers/gpu/stub/Makefile
create mode 100644 drivers/gpu/stub/poulsbo.c
   
   diff --git a/drivers/gpu/Makefile b/drivers/gpu/Makefile
   index 30879df..cc92778 100644
   --- a/drivers/gpu/Makefile
   +++ b/drivers/gpu/Makefile
   @@ -1 +1 @@
   -obj-y+= drm/ vga/
   +obj-y+= drm/ vga/ stub/
   diff --git a/drivers/gpu/stub/Kconfig b/drivers/gpu/stub/Kconfig
   new file mode 100644
   index 000..8f5a540
   --- /dev/null
   +++ b/drivers/gpu/stub/Kconfig
   @@ -0,0 +1,13 @@
   +config STUB_POULSBO
   + tristate Intel GMA500 Stub Driver
   + depends on PCI
   +# Poulsbo stub depends on ACPI_VIDEO when ACPI is enabled
   +# but for select to work, need to select ACPI_VIDEO's 
   dependencies, ick
   +select ACPI_VIDEO if ACPI
   + help
   +   Choose this option if you have a system that has Intel GMA500
   +   (Poulsbo) integrated graphics. If M is selected, the module will
   +   be called Poulsbo. This driver is a stub driver for Poulsbo that
   +   will call poulsbo.ko to enable the acpi backlight control sysfs
   +   entry file because there have no poulsbo native driver can support
   +   intel opregion.
   diff --git a/drivers/gpu/stub/Makefile b/drivers/gpu/stub/Makefile
   new file mode 100644
   index 000..cd940cc
   --- /dev/null
   +++ b/drivers/gpu/stub/Makefile
   @@ -0,0 +1 @@
   +obj-$(CONFIG_STUB_POULSBO) += poulsbo.o
   diff --git a/drivers/gpu/stub/poulsbo.c b/drivers/gpu/stub/poulsbo.c
   new file mode 100644
   index 000..d8aa636
   --- /dev/null
   +++ b/drivers/gpu/stub/poulsbo.c
   @@ -0,0 +1,63 @@
   +/*
   + * Intel Poulsbo Stub driver
   + *
   + * Copyright (C) 2010 Novell j...@novell.com
   + *
   + * This program is free software; you can redistribute it and/or modify 
   it
   + * under the terms of the GNU General Public License version 2 as 
   published by
   + * the Free Software Foundation.
   + *
   + */
   +
   +#include linux/module.h
   +#include linux/pci.h
   +#include acpi/video.h
   +
   +#define DRIVER_NAME poulsbo
   +
   +enum {
   + CHIP_PSB_8108 = 0,
   + CHIP_PSB_8109 = 1,
   +};
   +
   +static struct pci_device_id pciidlist[] = {
   + {0x8086, 0x8108, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PSB_8108}, \
   + {0x8086, 0x8109, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PSB_8109}, \
   + {0, 0, 0}
   +};
   +
   +static int poulsbo_probe(struct pci_dev *pdev, const struct 
   pci_device_id *id)
   +{
   + return acpi_video_register();
   +}
   +
   +static void poulsbo_remove(struct pci_dev *pdev)
   +{
   + acpi_video_unregister();
   +}
   +
   +static struct pci_driver poulsbo_driver = {
   + .name = DRIVER_NAME,
   + .id_table = pciidlist,
   + .probe = poulsbo_probe,
   + .remove = poulsbo_remove,
   +};
   +
   +static int __init poulsbo_init(void)
   +{
   + return pci_register_driver(poulsbo_driver);
   +}
   +
   +static void __exit poulsbo_exit(void)
   +{
   + pci_unregister_driver(poulsbo_driver);
   +}
   +
   +module_init(poulsbo_init);
   +module_exit(poulsbo_exit);
   +
   +MODULE_AUTHOR(Lee, Chun-Yi j...@novell.com);
   +MODULE_DESCRIPTION(Poulsbo Stub Driver);

[PATCH] Add Intel GMA500(Poulsbo) Stub Driver

2010-11-11 Thread Joey Lee
Hi Rui, 

First, thank's for your review and take care.

? ??2010-11-12 ? 09:31 +0800?Zhang Rui ???
> Hi, Lee,
> 
> there are several regressions caused by this patch,
> http://marc.info/?l=linux-acpi=128872402020412=2
> http://marc.info/?l=linux-acpi=128858111022621=2
> 
> Yes, We can fix it by "select INPUT if ACPI"/"select
> VIDEO_OUTPUT_CONTROL if ACPI".
> But IMO,  STUB_POULSBO should not select ACPI_VIDEO at all,
> what do you think?
> 

Yes, I agreed.

We can just remove the _select ACPI_VIDEO if ACPI_ because user should
select it when they want to use.
If CONFIG_ACPI_VIDEO doesn't select, the stub poulsbo just do _not_
thing but will have no any bad thing.

So, let's direct remove it from Kconfig. Should I submit patch again?


Thank's
Joey Lee

> thanks,
> rui
> 
> On Wed, 2010-11-03 at 09:19 +0800, Zhang Rui wrote:
> > Hi, Lee,
> > 
> > Sorry I missed this thread.
> > 
> > On Wed, 2010-10-20 at 13:51 +0800, Lee, Chun-Yi wrote:
> > > Currently, there have no GMA500(Poulsbo) native video driver to support
> > > intel opregion. So, use this stub driver to enable the acpi backlight
> > > control sysfs entry files by requrest acpi_video_register.
> > > 
> > If you want the acpi backlight control, why not set CONFIG_ACPI_VIDEO
> > driver directly?
> > The reason why i915 driver selects ACPI_VIDEO is that it needs some
> > cooperation between these two drivers during initialization, or else the
> > system may hang.
> > 
> > thanks,
> > rui
> > 
> > > Signed-off-by: Lee, Chun-Yi 
> > > ---
> > >  drivers/gpu/Makefile   |2 +-
> > >  drivers/gpu/stub/Kconfig   |   13 +
> > >  drivers/gpu/stub/Makefile  |1 +
> > >  drivers/gpu/stub/poulsbo.c |   63 
> > > 
> > >  drivers/video/Kconfig  |2 +
> > >  5 files changed, 80 insertions(+), 1 deletions(-)
> > >  create mode 100644 drivers/gpu/stub/Kconfig
> > >  create mode 100644 drivers/gpu/stub/Makefile
> > >  create mode 100644 drivers/gpu/stub/poulsbo.c
> > > 
> > > diff --git a/drivers/gpu/Makefile b/drivers/gpu/Makefile
> > > index 30879df..cc92778 100644
> > > --- a/drivers/gpu/Makefile
> > > +++ b/drivers/gpu/Makefile
> > > @@ -1 +1 @@
> > > -obj-y+= drm/ vga/
> > > +obj-y+= drm/ vga/ stub/
> > > diff --git a/drivers/gpu/stub/Kconfig b/drivers/gpu/stub/Kconfig
> > > new file mode 100644
> > > index 000..8f5a540
> > > --- /dev/null
> > > +++ b/drivers/gpu/stub/Kconfig
> > > @@ -0,0 +1,13 @@
> > > +config STUB_POULSBO
> > > + tristate "Intel GMA500 Stub Driver"
> > > + depends on PCI
> > > +# Poulsbo stub depends on ACPI_VIDEO when ACPI is enabled
> > > +# but for select to work, need to select ACPI_VIDEO's 
> > > dependencies, ick
> > > +select ACPI_VIDEO if ACPI
> > > + help
> > > +   Choose this option if you have a system that has Intel GMA500
> > > +   (Poulsbo) integrated graphics. If M is selected, the module will
> > > +   be called Poulsbo. This driver is a stub driver for Poulsbo that
> > > +   will call poulsbo.ko to enable the acpi backlight control sysfs
> > > +   entry file because there have no poulsbo native driver can support
> > > +   intel opregion.
> > > diff --git a/drivers/gpu/stub/Makefile b/drivers/gpu/stub/Makefile
> > > new file mode 100644
> > > index 000..cd940cc
> > > --- /dev/null
> > > +++ b/drivers/gpu/stub/Makefile
> > > @@ -0,0 +1 @@
> > > +obj-$(CONFIG_STUB_POULSBO) += poulsbo.o
> > > diff --git a/drivers/gpu/stub/poulsbo.c b/drivers/gpu/stub/poulsbo.c
> > > new file mode 100644
> > > index 000..d8aa636
> > > --- /dev/null
> > > +++ b/drivers/gpu/stub/poulsbo.c
> > > @@ -0,0 +1,63 @@
> > > +/*
> > > + * Intel Poulsbo Stub driver
> > > + *
> > > + * Copyright (C) 2010 Novell 
> > > + *
> > > + * This program is free software; you can redistribute it and/or modify 
> > > it
> > > + * under the terms of the GNU General Public License version 2 as 
> > > published by
> > > + * the Free Software Foundation.
> > > + *
> > > + */
> > > +
> > > +#include 
> > > +#include 
> > > +#include 
> > > +
> > > +#define DRIVER_NAME "poulsbo"
> > > +
> > > +enum {
> > > + CHIP_PSB_8108 = 0,
> > > + CHIP_PSB_8109 = 1,
> > > +};
> > > +
> > > +static struct pci_device_id pciidlist[] = {
> > > + {0x8086, 0x8108, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PSB_8108}, \
> > > + {0x8086, 0x8109, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PSB_8109}, \
> > > + {0, 0, 0}
> > > +};
> > > +
> > > +static int poulsbo_probe(struct pci_dev *pdev, const struct 
> > > pci_device_id *id)
> > > +{
> > > + return acpi_video_register();
> > > +}
> > > +
> > > +static void poulsbo_remove(struct pci_dev *pdev)
> > > +{
> > > + acpi_video_unregister();
> > > +}
> > > +
> > > +static struct pci_driver poulsbo_driver = {
> > > + .name = DRIVER_NAME,
> > > + .id_table = pciidlist,
> > > + .probe = poulsbo_probe,
> > > + .remove = poulsbo_remove,
> > > +};
> > > +
> > > +static int __init poulsbo_init(void)
> > > +{
> > > + return 

[PATCH] Add Intel GMA500(Poulsbo) Stub Driver

2010-11-03 Thread Zhang Rui
Hi, Lee,

Sorry I missed this thread.

On Wed, 2010-10-20 at 13:51 +0800, Lee, Chun-Yi wrote:
> Currently, there have no GMA500(Poulsbo) native video driver to support
> intel opregion. So, use this stub driver to enable the acpi backlight
> control sysfs entry files by requrest acpi_video_register.
> 
If you want the acpi backlight control, why not set CONFIG_ACPI_VIDEO
driver directly?
The reason why i915 driver selects ACPI_VIDEO is that it needs some
cooperation between these two drivers during initialization, or else the
system may hang.

thanks,
rui

> Signed-off-by: Lee, Chun-Yi 
> ---
>  drivers/gpu/Makefile   |2 +-
>  drivers/gpu/stub/Kconfig   |   13 +
>  drivers/gpu/stub/Makefile  |1 +
>  drivers/gpu/stub/poulsbo.c |   63 
> 
>  drivers/video/Kconfig  |2 +
>  5 files changed, 80 insertions(+), 1 deletions(-)
>  create mode 100644 drivers/gpu/stub/Kconfig
>  create mode 100644 drivers/gpu/stub/Makefile
>  create mode 100644 drivers/gpu/stub/poulsbo.c
> 
> diff --git a/drivers/gpu/Makefile b/drivers/gpu/Makefile
> index 30879df..cc92778 100644
> --- a/drivers/gpu/Makefile
> +++ b/drivers/gpu/Makefile
> @@ -1 +1 @@
> -obj-y+= drm/ vga/
> +obj-y+= drm/ vga/ stub/
> diff --git a/drivers/gpu/stub/Kconfig b/drivers/gpu/stub/Kconfig
> new file mode 100644
> index 000..8f5a540
> --- /dev/null
> +++ b/drivers/gpu/stub/Kconfig
> @@ -0,0 +1,13 @@
> +config STUB_POULSBO
> + tristate "Intel GMA500 Stub Driver"
> + depends on PCI
> +# Poulsbo stub depends on ACPI_VIDEO when ACPI is enabled
> +# but for select to work, need to select ACPI_VIDEO's dependencies, 
> ick
> +select ACPI_VIDEO if ACPI
> + help
> +   Choose this option if you have a system that has Intel GMA500
> +   (Poulsbo) integrated graphics. If M is selected, the module will
> +   be called Poulsbo. This driver is a stub driver for Poulsbo that
> +   will call poulsbo.ko to enable the acpi backlight control sysfs
> +   entry file because there have no poulsbo native driver can support
> +   intel opregion.
> diff --git a/drivers/gpu/stub/Makefile b/drivers/gpu/stub/Makefile
> new file mode 100644
> index 000..cd940cc
> --- /dev/null
> +++ b/drivers/gpu/stub/Makefile
> @@ -0,0 +1 @@
> +obj-$(CONFIG_STUB_POULSBO) += poulsbo.o
> diff --git a/drivers/gpu/stub/poulsbo.c b/drivers/gpu/stub/poulsbo.c
> new file mode 100644
> index 000..d8aa636
> --- /dev/null
> +++ b/drivers/gpu/stub/poulsbo.c
> @@ -0,0 +1,63 @@
> +/*
> + * Intel Poulsbo Stub driver
> + *
> + * Copyright (C) 2010 Novell 
> + *
> + * This program is free software; you can redistribute it and/or modify it
> + * under the terms of the GNU General Public License version 2 as published 
> by
> + * the Free Software Foundation.
> + *
> + */
> +
> +#include 
> +#include 
> +#include 
> +
> +#define DRIVER_NAME "poulsbo"
> +
> +enum {
> + CHIP_PSB_8108 = 0,
> + CHIP_PSB_8109 = 1,
> +};
> +
> +static struct pci_device_id pciidlist[] = {
> + {0x8086, 0x8108, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PSB_8108}, \
> + {0x8086, 0x8109, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PSB_8109}, \
> + {0, 0, 0}
> +};
> +
> +static int poulsbo_probe(struct pci_dev *pdev, const struct pci_device_id 
> *id)
> +{
> + return acpi_video_register();
> +}
> +
> +static void poulsbo_remove(struct pci_dev *pdev)
> +{
> + acpi_video_unregister();
> +}
> +
> +static struct pci_driver poulsbo_driver = {
> + .name = DRIVER_NAME,
> + .id_table = pciidlist,
> + .probe = poulsbo_probe,
> + .remove = poulsbo_remove,
> +};
> +
> +static int __init poulsbo_init(void)
> +{
> + return pci_register_driver(_driver);
> +}
> +
> +static void __exit poulsbo_exit(void)
> +{
> + pci_unregister_driver(_driver);
> +}
> +
> +module_init(poulsbo_init);
> +module_exit(poulsbo_exit);
> +
> +MODULE_AUTHOR("Lee, Chun-Yi ");
> +MODULE_DESCRIPTION("Poulsbo Stub Driver");
> +MODULE_LICENSE("GPL");
> +
> +MODULE_DEVICE_TABLE(pci, pciidlist);
> diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
> index 8b31fdf..8807ae5 100644
> --- a/drivers/video/Kconfig
> +++ b/drivers/video/Kconfig
> @@ -17,6 +17,8 @@ source "drivers/gpu/vga/Kconfig"
>  
>  source "drivers/gpu/drm/Kconfig"
>  
> +source "drivers/gpu/stub/Kconfig"
> +
>  config VGASTATE
> tristate
> default n




Re: [PATCH] Add Intel GMA500(Poulsbo) Stub Driver

2010-11-03 Thread Zhang Rui
Hi, Lee,

Sorry I missed this thread.

On Wed, 2010-10-20 at 13:51 +0800, Lee, Chun-Yi wrote:
 Currently, there have no GMA500(Poulsbo) native video driver to support
 intel opregion. So, use this stub driver to enable the acpi backlight
 control sysfs entry files by requrest acpi_video_register.
 
If you want the acpi backlight control, why not set CONFIG_ACPI_VIDEO
driver directly?
The reason why i915 driver selects ACPI_VIDEO is that it needs some
cooperation between these two drivers during initialization, or else the
system may hang.

thanks,
rui

 Signed-off-by: Lee, Chun-Yi j...@novell.com
 ---
  drivers/gpu/Makefile   |2 +-
  drivers/gpu/stub/Kconfig   |   13 +
  drivers/gpu/stub/Makefile  |1 +
  drivers/gpu/stub/poulsbo.c |   63 
 
  drivers/video/Kconfig  |2 +
  5 files changed, 80 insertions(+), 1 deletions(-)
  create mode 100644 drivers/gpu/stub/Kconfig
  create mode 100644 drivers/gpu/stub/Makefile
  create mode 100644 drivers/gpu/stub/poulsbo.c
 
 diff --git a/drivers/gpu/Makefile b/drivers/gpu/Makefile
 index 30879df..cc92778 100644
 --- a/drivers/gpu/Makefile
 +++ b/drivers/gpu/Makefile
 @@ -1 +1 @@
 -obj-y+= drm/ vga/
 +obj-y+= drm/ vga/ stub/
 diff --git a/drivers/gpu/stub/Kconfig b/drivers/gpu/stub/Kconfig
 new file mode 100644
 index 000..8f5a540
 --- /dev/null
 +++ b/drivers/gpu/stub/Kconfig
 @@ -0,0 +1,13 @@
 +config STUB_POULSBO
 + tristate Intel GMA500 Stub Driver
 + depends on PCI
 +# Poulsbo stub depends on ACPI_VIDEO when ACPI is enabled
 +# but for select to work, need to select ACPI_VIDEO's dependencies, 
 ick
 +select ACPI_VIDEO if ACPI
 + help
 +   Choose this option if you have a system that has Intel GMA500
 +   (Poulsbo) integrated graphics. If M is selected, the module will
 +   be called Poulsbo. This driver is a stub driver for Poulsbo that
 +   will call poulsbo.ko to enable the acpi backlight control sysfs
 +   entry file because there have no poulsbo native driver can support
 +   intel opregion.
 diff --git a/drivers/gpu/stub/Makefile b/drivers/gpu/stub/Makefile
 new file mode 100644
 index 000..cd940cc
 --- /dev/null
 +++ b/drivers/gpu/stub/Makefile
 @@ -0,0 +1 @@
 +obj-$(CONFIG_STUB_POULSBO) += poulsbo.o
 diff --git a/drivers/gpu/stub/poulsbo.c b/drivers/gpu/stub/poulsbo.c
 new file mode 100644
 index 000..d8aa636
 --- /dev/null
 +++ b/drivers/gpu/stub/poulsbo.c
 @@ -0,0 +1,63 @@
 +/*
 + * Intel Poulsbo Stub driver
 + *
 + * Copyright (C) 2010 Novell j...@novell.com
 + *
 + * This program is free software; you can redistribute it and/or modify it
 + * under the terms of the GNU General Public License version 2 as published 
 by
 + * the Free Software Foundation.
 + *
 + */
 +
 +#include linux/module.h
 +#include linux/pci.h
 +#include acpi/video.h
 +
 +#define DRIVER_NAME poulsbo
 +
 +enum {
 + CHIP_PSB_8108 = 0,
 + CHIP_PSB_8109 = 1,
 +};
 +
 +static struct pci_device_id pciidlist[] = {
 + {0x8086, 0x8108, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PSB_8108}, \
 + {0x8086, 0x8109, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PSB_8109}, \
 + {0, 0, 0}
 +};
 +
 +static int poulsbo_probe(struct pci_dev *pdev, const struct pci_device_id 
 *id)
 +{
 + return acpi_video_register();
 +}
 +
 +static void poulsbo_remove(struct pci_dev *pdev)
 +{
 + acpi_video_unregister();
 +}
 +
 +static struct pci_driver poulsbo_driver = {
 + .name = DRIVER_NAME,
 + .id_table = pciidlist,
 + .probe = poulsbo_probe,
 + .remove = poulsbo_remove,
 +};
 +
 +static int __init poulsbo_init(void)
 +{
 + return pci_register_driver(poulsbo_driver);
 +}
 +
 +static void __exit poulsbo_exit(void)
 +{
 + pci_unregister_driver(poulsbo_driver);
 +}
 +
 +module_init(poulsbo_init);
 +module_exit(poulsbo_exit);
 +
 +MODULE_AUTHOR(Lee, Chun-Yi j...@novell.com);
 +MODULE_DESCRIPTION(Poulsbo Stub Driver);
 +MODULE_LICENSE(GPL);
 +
 +MODULE_DEVICE_TABLE(pci, pciidlist);
 diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
 index 8b31fdf..8807ae5 100644
 --- a/drivers/video/Kconfig
 +++ b/drivers/video/Kconfig
 @@ -17,6 +17,8 @@ source drivers/gpu/vga/Kconfig
  
  source drivers/gpu/drm/Kconfig
  
 +source drivers/gpu/stub/Kconfig
 +
  config VGASTATE
 tristate
 default n


___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


[PATCH] Add Intel GMA500(Poulsbo) Stub Driver

2010-10-20 Thread Lee, Chun-Yi
Currently, there have no GMA500(Poulsbo) native video driver to support
intel opregion. So, use this stub driver to enable the acpi backlight
control sysfs entry files by requrest acpi_video_register.

Signed-off-by: Lee, Chun-Yi 
---
 drivers/gpu/Makefile   |2 +-
 drivers/gpu/stub/Kconfig   |   13 +
 drivers/gpu/stub/Makefile  |1 +
 drivers/gpu/stub/poulsbo.c |   63 
 drivers/video/Kconfig  |2 +
 5 files changed, 80 insertions(+), 1 deletions(-)
 create mode 100644 drivers/gpu/stub/Kconfig
 create mode 100644 drivers/gpu/stub/Makefile
 create mode 100644 drivers/gpu/stub/poulsbo.c

diff --git a/drivers/gpu/Makefile b/drivers/gpu/Makefile
index 30879df..cc92778 100644
--- a/drivers/gpu/Makefile
+++ b/drivers/gpu/Makefile
@@ -1 +1 @@
-obj-y  += drm/ vga/
+obj-y  += drm/ vga/ stub/
diff --git a/drivers/gpu/stub/Kconfig b/drivers/gpu/stub/Kconfig
new file mode 100644
index 000..8f5a540
--- /dev/null
+++ b/drivers/gpu/stub/Kconfig
@@ -0,0 +1,13 @@
+config STUB_POULSBO
+   tristate "Intel GMA500 Stub Driver"
+   depends on PCI
+# Poulsbo stub depends on ACPI_VIDEO when ACPI is enabled
+# but for select to work, need to select ACPI_VIDEO's dependencies, ick
+select ACPI_VIDEO if ACPI
+   help
+ Choose this option if you have a system that has Intel GMA500
+ (Poulsbo) integrated graphics. If M is selected, the module will
+ be called Poulsbo. This driver is a stub driver for Poulsbo that
+ will call poulsbo.ko to enable the acpi backlight control sysfs
+ entry file because there have no poulsbo native driver can support
+ intel opregion.
diff --git a/drivers/gpu/stub/Makefile b/drivers/gpu/stub/Makefile
new file mode 100644
index 000..cd940cc
--- /dev/null
+++ b/drivers/gpu/stub/Makefile
@@ -0,0 +1 @@
+obj-$(CONFIG_STUB_POULSBO) += poulsbo.o
diff --git a/drivers/gpu/stub/poulsbo.c b/drivers/gpu/stub/poulsbo.c
new file mode 100644
index 000..d8aa636
--- /dev/null
+++ b/drivers/gpu/stub/poulsbo.c
@@ -0,0 +1,63 @@
+/*
+ * Intel Poulsbo Stub driver
+ *
+ * Copyright (C) 2010 Novell 
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 as published by
+ * the Free Software Foundation.
+ *
+ */
+
+#include 
+#include 
+#include 
+
+#define DRIVER_NAME "poulsbo"
+
+enum {
+   CHIP_PSB_8108 = 0,
+   CHIP_PSB_8109 = 1,
+};
+
+static struct pci_device_id pciidlist[] = {
+   {0x8086, 0x8108, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PSB_8108}, \
+   {0x8086, 0x8109, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PSB_8109}, \
+   {0, 0, 0}
+};
+
+static int poulsbo_probe(struct pci_dev *pdev, const struct pci_device_id *id)
+{
+   return acpi_video_register();
+}
+
+static void poulsbo_remove(struct pci_dev *pdev)
+{
+   acpi_video_unregister();
+}
+
+static struct pci_driver poulsbo_driver = {
+   .name = DRIVER_NAME,
+   .id_table = pciidlist,
+   .probe = poulsbo_probe,
+   .remove = poulsbo_remove,
+};
+
+static int __init poulsbo_init(void)
+{
+   return pci_register_driver(_driver);
+}
+
+static void __exit poulsbo_exit(void)
+{
+   pci_unregister_driver(_driver);
+}
+
+module_init(poulsbo_init);
+module_exit(poulsbo_exit);
+
+MODULE_AUTHOR("Lee, Chun-Yi ");
+MODULE_DESCRIPTION("Poulsbo Stub Driver");
+MODULE_LICENSE("GPL");
+
+MODULE_DEVICE_TABLE(pci, pciidlist);
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
index 8b31fdf..8807ae5 100644
--- a/drivers/video/Kconfig
+++ b/drivers/video/Kconfig
@@ -17,6 +17,8 @@ source "drivers/gpu/vga/Kconfig"

 source "drivers/gpu/drm/Kconfig"

+source "drivers/gpu/stub/Kconfig"
+
 config VGASTATE
tristate
default n
-- 
1.6.0.2



[PATCH] Add Intel GMA500(Poulsbo) Stub Driver

2010-10-20 Thread Lee, Chun-Yi
Currently, there have no GMA500(Poulsbo) native video driver to support
intel opregion. So, use this stub driver to enable the acpi backlight
control sysfs entry files by requrest acpi_video_register.

Signed-off-by: Lee, Chun-Yi j...@novell.com
---
 drivers/gpu/Makefile   |2 +-
 drivers/gpu/stub/Kconfig   |   13 +
 drivers/gpu/stub/Makefile  |1 +
 drivers/gpu/stub/poulsbo.c |   63 
 drivers/video/Kconfig  |2 +
 5 files changed, 80 insertions(+), 1 deletions(-)
 create mode 100644 drivers/gpu/stub/Kconfig
 create mode 100644 drivers/gpu/stub/Makefile
 create mode 100644 drivers/gpu/stub/poulsbo.c

diff --git a/drivers/gpu/Makefile b/drivers/gpu/Makefile
index 30879df..cc92778 100644
--- a/drivers/gpu/Makefile
+++ b/drivers/gpu/Makefile
@@ -1 +1 @@
-obj-y  += drm/ vga/
+obj-y  += drm/ vga/ stub/
diff --git a/drivers/gpu/stub/Kconfig b/drivers/gpu/stub/Kconfig
new file mode 100644
index 000..8f5a540
--- /dev/null
+++ b/drivers/gpu/stub/Kconfig
@@ -0,0 +1,13 @@
+config STUB_POULSBO
+   tristate Intel GMA500 Stub Driver
+   depends on PCI
+# Poulsbo stub depends on ACPI_VIDEO when ACPI is enabled
+# but for select to work, need to select ACPI_VIDEO's dependencies, ick
+select ACPI_VIDEO if ACPI
+   help
+ Choose this option if you have a system that has Intel GMA500
+ (Poulsbo) integrated graphics. If M is selected, the module will
+ be called Poulsbo. This driver is a stub driver for Poulsbo that
+ will call poulsbo.ko to enable the acpi backlight control sysfs
+ entry file because there have no poulsbo native driver can support
+ intel opregion.
diff --git a/drivers/gpu/stub/Makefile b/drivers/gpu/stub/Makefile
new file mode 100644
index 000..cd940cc
--- /dev/null
+++ b/drivers/gpu/stub/Makefile
@@ -0,0 +1 @@
+obj-$(CONFIG_STUB_POULSBO) += poulsbo.o
diff --git a/drivers/gpu/stub/poulsbo.c b/drivers/gpu/stub/poulsbo.c
new file mode 100644
index 000..d8aa636
--- /dev/null
+++ b/drivers/gpu/stub/poulsbo.c
@@ -0,0 +1,63 @@
+/*
+ * Intel Poulsbo Stub driver
+ *
+ * Copyright (C) 2010 Novell j...@novell.com
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 as published by
+ * the Free Software Foundation.
+ *
+ */
+
+#include linux/module.h
+#include linux/pci.h
+#include acpi/video.h
+
+#define DRIVER_NAME poulsbo
+
+enum {
+   CHIP_PSB_8108 = 0,
+   CHIP_PSB_8109 = 1,
+};
+
+static struct pci_device_id pciidlist[] = {
+   {0x8086, 0x8108, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PSB_8108}, \
+   {0x8086, 0x8109, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PSB_8109}, \
+   {0, 0, 0}
+};
+
+static int poulsbo_probe(struct pci_dev *pdev, const struct pci_device_id *id)
+{
+   return acpi_video_register();
+}
+
+static void poulsbo_remove(struct pci_dev *pdev)
+{
+   acpi_video_unregister();
+}
+
+static struct pci_driver poulsbo_driver = {
+   .name = DRIVER_NAME,
+   .id_table = pciidlist,
+   .probe = poulsbo_probe,
+   .remove = poulsbo_remove,
+};
+
+static int __init poulsbo_init(void)
+{
+   return pci_register_driver(poulsbo_driver);
+}
+
+static void __exit poulsbo_exit(void)
+{
+   pci_unregister_driver(poulsbo_driver);
+}
+
+module_init(poulsbo_init);
+module_exit(poulsbo_exit);
+
+MODULE_AUTHOR(Lee, Chun-Yi j...@novell.com);
+MODULE_DESCRIPTION(Poulsbo Stub Driver);
+MODULE_LICENSE(GPL);
+
+MODULE_DEVICE_TABLE(pci, pciidlist);
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
index 8b31fdf..8807ae5 100644
--- a/drivers/video/Kconfig
+++ b/drivers/video/Kconfig
@@ -17,6 +17,8 @@ source drivers/gpu/vga/Kconfig
 
 source drivers/gpu/drm/Kconfig
 
+source drivers/gpu/stub/Kconfig
+
 config VGASTATE
tristate
default n
-- 
1.6.0.2

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH] Add Intel GMA500(Poulsbo) Stub Driver

2010-10-20 Thread Joe Perches
On Wed, 2010-10-20 at 13:51 +0800, Lee, Chun-Yi wrote:
 Currently, there have no GMA500(Poulsbo) native video driver to support
 intel opregion. So, use this stub driver to enable the acpi backlight
 control sysfs entry files by requrest acpi_video_register.
[]
 diff --git a/drivers/gpu/stub/poulsbo.c b/drivers/gpu/stub/poulsbo.c
[]
 +static struct pci_device_id pciidlist[] = {

DEFINE_PCI_DEVICE_TABLE
 

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


[PATCH] Add Intel GMA500(Poulsbo) Stub Driver

2010-10-19 Thread Joe Perches
On Wed, 2010-10-20 at 13:51 +0800, Lee, Chun-Yi wrote:
> Currently, there have no GMA500(Poulsbo) native video driver to support
> intel opregion. So, use this stub driver to enable the acpi backlight
> control sysfs entry files by requrest acpi_video_register.
[]
> diff --git a/drivers/gpu/stub/poulsbo.c b/drivers/gpu/stub/poulsbo.c
[]
> +static struct pci_device_id pciidlist[] = {

DEFINE_PCI_DEVICE_TABLE