1. 17 4月, 2014 1 次提交
  2. 05 3月, 2014 1 次提交
    • T
      OMAPDSS: convert pixel clock to common videomode style · d8d78941
      Tomi Valkeinen 提交于
      omapdss has its own video-timings struct, but we want to move the common
      videomode.
      
      The first step is to change the omapdss's pixelclock unit from kHz to
      Hz. Also, omapdss uses "pixel_clock" field name, whereas the common
      videomode uses "pixelclock" field name. This patch changes the field
      name also, as that makes it easy to spot any non-converted pixel_clock
      uses.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      d8d78941
  3. 17 6月, 2013 2 次提交
    • T
      OMAPDSS: Add TPO TD043MTEA1 panel driver · 2e1def0c
      Tomi Valkeinen 提交于
      Add TPO TD043MTEA1 panel driver which uses the new DSS device model
      and DSS ops.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      Tested-by: NGrazvydas Ignotas <notasas@gmail.com>
      2e1def0c
    • T
      OMAPDSS: Add panel dev pointer to dssdev · ecc8b370
      Tomi Valkeinen 提交于
      We are about to remove the dss bus support, which also means that the
      omap_dss_device won't be a real device anymore. This means that the
      embedded "dev" struct needs to be removed from omap_dss_device.
      
      After we've finished the removal of the dss bus, we see the following
      changes:
      
      - struct omap_dss_device won't be a real Linux device anymore, but more
        like a "display entity".
      - struct omap_dss_driver won't be a Linux device driver, but "display
        entity ops".
      - The panel devices/drivers won't be omapdss devices/drivers, but
        platform/i2c/spi/etc devices/drivers, whichever fits the control
        mechanism of the panel.
      - The panel drivers will create omap_dss_device and omap_dss_driver,
        fill the required fields, and register the omap_dss_device to
        omapdss.
      - omap_dss_device won't have an embedded dev struct anymore, but a
        dev pointer to the actual device that manages the omap_dss_device.
      
      The model described above resembles the model that has been discussed
      with CDF (common display framework).
      
      For the duration of the conversion, we temporarily have two devs in the
      dssdev, the old "old_dev", which is a full embedded device struct, and the
      new "dev", which is a pointer to the device. "old_dev" will be removed
      in the future.
      
      For devices belonging to dss bus the dev is initialized to point to
      old_dev. This way all the code can just use the dev, for both old and
      new style panels.
      
      Both the new and old style panel drivers work during the conversion, and
      only after the dss bus support is removed will the old style panels stop
      to compile.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      ecc8b370
  4. 03 4月, 2013 2 次提交
    • A
      OMAPDSS: tpo-td043: remove platform_enable/disable callbacks · 3552fb78
      Archit Taneja 提交于
      The tpo-td043 panel driver now manages the gpios required to configure the panel.
      This was previously done in omap_dss_device's platform_enable/disable callbacks
      defined in board files using this panel.
      
      All the board files using this panel now pass the gpio information as platform
      data via the panel_tpo_td043_data struct, which is needed by the panel driver to
      configure the gpios connected to the panel. Hence, the platform_enable/disable
      ops can be safely removed now.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      3552fb78
    • A
      OMAPDSS: tpo-td043 panel: handle gpios in panel driver · 7eab07e4
      Archit Taneja 提交于
      The tpo-td043mtea1 panel driver leaves gpio configurations to the
      platform_enable and disable calls in the platform's board file. These should
      happen in the panel driver itself.
      
      Create a platform data struct for the panel, this contains the reset gpio
      number used by the panel driver, this struct will be passed to the panel driver
      as platform data. The driver will request and configure the reset gpio rather
      than leaving it to platform callbacks in board files.
      
      This will help in removing the need for the panel drivers to have platform
      related callbacks.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      7eab07e4
  5. 22 3月, 2013 1 次提交
  6. 04 1月, 2013 1 次提交
    • G
      Drivers: video: remove __dev* attributes. · 48c68c4f
      Greg Kroah-Hartman 提交于
      CONFIG_HOTPLUG is going away as an option.  As a result, the __dev*
      markings need to be removed.
      
      This change removes the use of __devinit, __devexit_p, __devinitdata,
      __devinitconst, and __devexit from these drivers.
      
      Based on patches originally written by Bill Pemberton, but redone by me
      in order to handle some of the coding style issues better, by hand.
      
      Cc: Bill Pemberton <wfp5p@virginia.edu>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      48c68c4f
  7. 24 10月, 2012 1 次提交
  8. 16 8月, 2012 1 次提交
    • A
      OMAPDSS: DPI: Maintain copy of number of data lines in driver data · c6b393d4
      Archit Taneja 提交于
      The DPI driver currently relies on the omap_dss_device struct to configure the
      number of data lines as specified by the panel. This makes the DPI interface
      driver dependent on the omap_dss_device struct.
      
      Make the DPI driver data maintain it's own data lines field. A panel driver
      is expected to call omapdss_dpi_set_data_lines() before enabling the interface.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      c6b393d4
  9. 13 8月, 2012 2 次提交
    • A
      OMAPDSS: DPI displays: Take care of panel timings in the driver itself · bdcae3cc
      Archit Taneja 提交于
      The timings maintained in omap_dss_device(dssdev->panel.timings) should be
      maintained by the panel driver itself. It's the panel drivers responsibility
      to update it if a new set of timings is to be configured. The DPI interface
      driver shouldn't be responsible of updating the panel timings, it's responsible
      of maintianing it's own copy of timings.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      bdcae3cc
    • A
      OMAPDSS: DPI: Maintain our own timings field in driver data · c499144c
      Archit Taneja 提交于
      The DPI driver currently relies on the timings in omap_dss_device struct to
      configure the DISPC accordingly. This makes the DPI interface driver dependent
      on the omap_dss_device struct.
      
      Make the DPI driver data maintain it's own timings field. The panel driver is
      expected to call dpi_set_timings()(renamed to omapdss_dpi_set_timings) to set
      these timings before the panel is enabled.
      
      In the set_timings() op, we still ensure that the omap_dss_device timings
      (dssdev->panel.timings) are configured. This will later be configured only by
      the DPI panel drivers.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      c499144c
  10. 29 6月, 2012 3 次提交
    • A
      OMAPDSS: Remove omap_panel_config enum from omap_dss_device · 07fb51c6
      Archit Taneja 提交于
      omap_panel_config contains fields which are finally written to DISPC_POL_FREQo
      registers. These are now held by omap_video_timings and are set when the manager
      timings are applied.
      
      Remove the omap_panel_config enum, and remove all it's references from panel or
      interface drivers.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      07fb51c6
    • A
      OMAPDSS: Add some new fields to omap_video_timings · a8d5e41c
      Archit Taneja 提交于
      Some panel timing related fields are contained in omap_panel_config in the form
      of flags. The fields are:
      
      - Hsync logic level
      - Vsync logic level
      - Data driven on rising/falling edge of pixel clock
      - Output enable/Data enable logic level
      - HSYNC/VSYNC driven on rising/falling edge of pixel clock
      
      Out of these parameters, Hsync and Vsync logic levels are a part of the timings
      in the Xorg modeline configuration. So it makes sense to move the to
      omap_video_timings. The rest aren't a part of modeline, but it still makes
      sense to move these since they are related to panel timings.
      
      These fields stored in omap_panel_config in dssdev are configured for LCD
      panels, and the corresponding LCD managers in the DISPC_POL_FREQo registers.
      
      Add the above fields in omap_video_timings. Represent their state via new enums.
      
      Add these parameters to the omap_video_timings instances in the panel drivers.
      Keep the corresponding IVS, IHS, IPC, IEO, RF and ONOFF flags in
      omap_panel_config for now. The struct will be removed later.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      a8d5e41c
    • A
      OMAPDSS: Remove passive matrix LCD support (part 2) · 5ae9eaa6
      Archit Taneja 提交于
      Remove OMAP_DSS_LCD_TFT as a omap_panel_config flag.
      
      We don't support passive matrix displays any more. Remove this flag from all the
      panel drivers.
      
      Force the display_type to OMAP_DSS_LCD_DISPLAY_TFT in the interface drivers.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      5ae9eaa6
  11. 23 4月, 2012 3 次提交
  12. 21 2月, 2012 2 次提交
  13. 29 1月, 2012 2 次提交
  14. 04 12月, 2011 1 次提交
  15. 11 5月, 2011 2 次提交
  16. 23 10月, 2010 1 次提交
  17. 30 3月, 2010 1 次提交
    • T
      include cleanup: Update gfp.h and slab.h includes to prepare for breaking... · 5a0e3ad6
      Tejun Heo 提交于
      include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
      
      percpu.h is included by sched.h and module.h and thus ends up being
      included when building most .c files.  percpu.h includes slab.h which
      in turn includes gfp.h making everything defined by the two files
      universally available and complicating inclusion dependencies.
      
      percpu.h -> slab.h dependency is about to be removed.  Prepare for
      this change by updating users of gfp and slab facilities include those
      headers directly instead of assuming availability.  As this conversion
      needs to touch large number of source files, the following script is
      used as the basis of conversion.
      
        http://userweb.kernel.org/~tj/misc/slabh-sweep.py
      
      The script does the followings.
      
      * Scan files for gfp and slab usages and update includes such that
        only the necessary includes are there.  ie. if only gfp is used,
        gfp.h, if slab is used, slab.h.
      
      * When the script inserts a new include, it looks at the include
        blocks and try to put the new include such that its order conforms
        to its surrounding.  It's put in the include block which contains
        core kernel includes, in the same order that the rest are ordered -
        alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
        doesn't seem to be any matching order.
      
      * If the script can't find a place to put a new include (mostly
        because the file doesn't have fitting include block), it prints out
        an error message indicating which .h file needs to be added to the
        file.
      
      The conversion was done in the following steps.
      
      1. The initial automatic conversion of all .c files updated slightly
         over 4000 files, deleting around 700 includes and adding ~480 gfp.h
         and ~3000 slab.h inclusions.  The script emitted errors for ~400
         files.
      
      2. Each error was manually checked.  Some didn't need the inclusion,
         some needed manual addition while adding it to implementation .h or
         embedding .c file was more appropriate for others.  This step added
         inclusions to around 150 files.
      
      3. The script was run again and the output was compared to the edits
         from #2 to make sure no file was left behind.
      
      4. Several build tests were done and a couple of problems were fixed.
         e.g. lib/decompress_*.c used malloc/free() wrappers around slab
         APIs requiring slab.h to be added manually.
      
      5. The script was run on all .h files but without automatically
         editing them as sprinkling gfp.h and slab.h inclusions around .h
         files could easily lead to inclusion dependency hell.  Most gfp.h
         inclusion directives were ignored as stuff from gfp.h was usually
         wildly available and often used in preprocessor macros.  Each
         slab.h inclusion directive was examined and added manually as
         necessary.
      
      6. percpu.h was updated not to include slab.h.
      
      7. Build test were done on the following configurations and failures
         were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my
         distributed build env didn't work with gcov compiles) and a few
         more options had to be turned off depending on archs to make things
         build (like ipr on powerpc/64 which failed due to missing writeq).
      
         * x86 and x86_64 UP and SMP allmodconfig and a custom test config.
         * powerpc and powerpc64 SMP allmodconfig
         * sparc and sparc64 SMP allmodconfig
         * ia64 SMP allmodconfig
         * s390 SMP allmodconfig
         * alpha SMP allmodconfig
         * um on x86_64 SMP allmodconfig
      
      8. percpu.h modifications were reverted so that it could be applied as
         a separate patch and serve as bisection point.
      
      Given the fact that I had only a couple of failures from tests on step
      6, I'm fairly confident about the coverage of this conversion patch.
      If there is a breakage, it's likely to be something in one of the arch
      headers which should be easily discoverable easily on most builds of
      the specific arch.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Guess-its-ok-by: NChristoph Lameter <cl@linux-foundation.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
      5a0e3ad6
  18. 26 2月, 2010 1 次提交
  19. 24 2月, 2010 1 次提交
  20. 12 2月, 2010 1 次提交