linux/drivers/video/bfin-t350mcqb-fb.c
<<
>>
Prefs
   1/*
   2 * File:         drivers/video/bfin-t350mcqb-fb.c
   3 * Based on:
   4 * Author:       Michael Hennerich <hennerich@blackfin.uclinux.org>
   5 *
   6 * Created:
   7 * Description:  Blackfin LCD Framebuffer driver
   8 *
   9 *
  10 * Modified:
  11 *               Copyright 2004-2007 Analog Devices Inc.
  12 *
  13 * Bugs:         Enter bugs at http://blackfin.uclinux.org/
  14 *
  15 * This program is free software; you can redistribute it and/or modify
  16 * it under the terms of the GNU General Public License as published by
  17 * the Free Software Foundation; either version 2 of the License, or
  18 * (at your option) any later version.
  19 *
  20 * This program is distributed in the hope that it will be useful,
  21 * but WITHOUT ANY WARRANTY; without even the implied warranty of
  22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  23 * GNU General Public License for more details.
  24 *
  25 * You should have received a copy of the GNU General Public License
  26 * along with this program; if not, see the file COPYING, or write
  27 * to the Free Software Foundation, Inc.,
  28 * 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
  29 */
  30
  31#include <linux/module.h>
  32#include <linux/kernel.h>
  33#include <linux/errno.h>
  34#include <linux/string.h>
  35#include <linux/gfp.h>
  36#include <linux/fb.h>
  37#include <linux/init.h>
  38#include <linux/types.h>
  39#include <linux/interrupt.h>
  40#include <linux/device.h>
  41#include <linux/backlight.h>
  42#include <linux/lcd.h>
  43#include <linux/dma-mapping.h>
  44#include <linux/platform_device.h>
  45
  46#include <asm/blackfin.h>
  47#include <asm/irq.h>
  48#include <asm/dma-mapping.h>
  49#include <asm/dma.h>
  50#include <asm/portmux.h>
  51#include <asm/gptimers.h>
  52
  53#define NO_BL_SUPPORT
  54
  55#define LCD_X_RES               320     /* Horizontal Resolution */
  56#define LCD_Y_RES               240     /* Vertical Resolution */
  57#define LCD_BPP                 24      /* Bit Per Pixel */
  58
  59#define DMA_BUS_SIZE            16
  60#define LCD_CLK                 (12*1000*1000)  /* 12MHz */
  61
  62#define CLOCKS_PER_PIX          3
  63
  64        /*
  65         * HS and VS timing parameters (all in number of PPI clk ticks)
  66         */
  67
  68#define U_LINE          1                               /* Blanking Lines */
  69
  70#define H_ACTPIX        (LCD_X_RES * CLOCKS_PER_PIX)    /* active horizontal pixel */
  71#define H_PERIOD        (408 * CLOCKS_PER_PIX)          /* HS period */
  72#define H_PULSE         90                              /* HS pulse width */
  73#define H_START         204                             /* first valid pixel */
  74
  75#define V_LINES         (LCD_Y_RES + U_LINE)            /* total vertical lines */
  76#define V_PULSE         (3 * H_PERIOD)                  /* VS pulse width (1-5 H_PERIODs) */
  77#define V_PERIOD        (H_PERIOD * V_LINES)            /* VS period */
  78
  79#define ACTIVE_VIDEO_MEM_OFFSET (U_LINE * H_ACTPIX)
  80
  81#define BFIN_LCD_NBR_PALETTE_ENTRIES    256
  82
  83#define DRIVER_NAME "bfin-t350mcqb"
  84static char driver_name[] = DRIVER_NAME;
  85
  86struct bfin_t350mcqbfb_info {
  87        struct fb_info *fb;
  88        struct device *dev;
  89        unsigned char *fb_buffer;       /* RGB Buffer */
  90        dma_addr_t dma_handle;
  91        int lq043_open_cnt;
  92        int irq;
  93        spinlock_t lock;        /* lock */
  94        u32 pseudo_pal[16];
  95};
  96
  97static int nocursor;
  98module_param(nocursor, int, 0644);
  99MODULE_PARM_DESC(nocursor, "cursor enable/disable");
 100
 101#define PPI_TX_MODE             0x2
 102#define PPI_XFER_TYPE_11        0xC
 103#define PPI_PORT_CFG_01         0x10
 104#define PPI_PACK_EN             0x80
 105#define PPI_POLS_1              0x8000
 106
 107static void bfin_t350mcqb_config_ppi(struct bfin_t350mcqbfb_info *fbi)
 108{
 109        bfin_write_PPI_DELAY(H_START);
 110        bfin_write_PPI_COUNT(H_ACTPIX-1);
 111        bfin_write_PPI_FRAME(V_LINES);
 112
 113        bfin_write_PPI_CONTROL(PPI_TX_MODE |       /* output mode , PORT_DIR */
 114                                PPI_XFER_TYPE_11 | /* sync mode XFR_TYPE */
 115                                PPI_PORT_CFG_01 |  /* two frame sync PORT_CFG */
 116                                PPI_PACK_EN |      /* packing enabled PACK_EN */
 117                                PPI_POLS_1);       /* faling edge syncs POLS */
 118}
 119
 120static inline void bfin_t350mcqb_disable_ppi(void)
 121{
 122        bfin_write_PPI_CONTROL(bfin_read_PPI_CONTROL() & ~PORT_EN);
 123}
 124
 125static inline void bfin_t350mcqb_enable_ppi(void)
 126{
 127        bfin_write_PPI_CONTROL(bfin_read_PPI_CONTROL() | PORT_EN);
 128}
 129
 130static void bfin_t350mcqb_start_timers(void)
 131{
 132        unsigned long flags;
 133
 134        local_irq_save(flags);
 135                enable_gptimers(TIMER1bit);
 136                enable_gptimers(TIMER0bit);
 137        local_irq_restore(flags);
 138}
 139
 140static void bfin_t350mcqb_stop_timers(void)
 141{
 142        disable_gptimers(TIMER0bit | TIMER1bit);
 143
 144        set_gptimer_status(0, TIMER_STATUS_TRUN0 | TIMER_STATUS_TRUN1 |
 145                                TIMER_STATUS_TIMIL0 | TIMER_STATUS_TIMIL1 |
 146                                 TIMER_STATUS_TOVF0 | TIMER_STATUS_TOVF1);
 147
 148}
 149
 150static void bfin_t350mcqb_init_timers(void)
 151{
 152
 153        bfin_t350mcqb_stop_timers();
 154
 155        set_gptimer_period(TIMER0_id, H_PERIOD);
 156        set_gptimer_pwidth(TIMER0_id, H_PULSE);
 157        set_gptimer_config(TIMER0_id, TIMER_MODE_PWM | TIMER_PERIOD_CNT |
 158                                      TIMER_TIN_SEL | TIMER_CLK_SEL|
 159                                      TIMER_EMU_RUN);
 160
 161        set_gptimer_period(TIMER1_id, V_PERIOD);
 162        set_gptimer_pwidth(TIMER1_id, V_PULSE);
 163        set_gptimer_config(TIMER1_id, TIMER_MODE_PWM | TIMER_PERIOD_CNT |
 164                                      TIMER_TIN_SEL | TIMER_CLK_SEL |
 165                                      TIMER_EMU_RUN);
 166
 167}
 168
 169static void bfin_t350mcqb_config_dma(struct bfin_t350mcqbfb_info *fbi)
 170{
 171
 172        set_dma_config(CH_PPI,
 173                       set_bfin_dma_config(DIR_READ, DMA_FLOW_AUTO,
 174                                           INTR_DISABLE, DIMENSION_2D,
 175                                           DATA_SIZE_16,
 176                                           DMA_NOSYNC_KEEP_DMA_BUF));
 177        set_dma_x_count(CH_PPI, (LCD_X_RES * LCD_BPP) / DMA_BUS_SIZE);
 178        set_dma_x_modify(CH_PPI, DMA_BUS_SIZE / 8);
 179        set_dma_y_count(CH_PPI, V_LINES);
 180
 181        set_dma_y_modify(CH_PPI, DMA_BUS_SIZE / 8);
 182        set_dma_start_addr(CH_PPI, (unsigned long)fbi->fb_buffer);
 183
 184}
 185
 186static  u16 ppi0_req_8[] = {P_PPI0_CLK, P_PPI0_FS1, P_PPI0_FS2,
 187                            P_PPI0_D0, P_PPI0_D1, P_PPI0_D2,
 188                            P_PPI0_D3, P_PPI0_D4, P_PPI0_D5,
 189                            P_PPI0_D6, P_PPI0_D7, 0};
 190
 191static int bfin_t350mcqb_request_ports(int action)
 192{
 193        if (action) {
 194                if (peripheral_request_list(ppi0_req_8, DRIVER_NAME)) {
 195                        printk(pr_maNsETRa> "cuRuest_lg edPipheral_rs failed\nuot;);
  919/a>                          return - href="+code=_xEFAUL class="sref">TIEFAUL a>    919/a>                    919/a>          } elsea href="drivers/video/bfin-t350mcqb-fb.c#L185" id="L189" class="line" name="L991">  919/a>                   href="+code=peripheral_refreeist" class="sref">peripheral_refreeist" a>(ppi0_req_8, 
 102
 102         0return 0 102#d 1020/a>
 10204a>static int bfin_t350mcqb_re_buen_ca>(struct fb_info *fbfo *,nt fbus" a>)
 102#d 1020/a>          ruct bfin_t350mcqbfb_info *fbi)
 fbfo *gt;fbpa a>   1020/a>
 1020/a>        lotp_t3ck" a>(stmp; ~ href="+code=fbi" class="sref">fbi->lock; 
 102        fbi->lq043_open_cnt;
++ 1121/a>
 112        fbi->lq043_open_cnt;
lt; 112
 1121/a>                   href="+code=bfin_t350mcqb_resable_ppi" class="sref">bfin_t350mcqb_disable_ppi(vo
 112                   href="+code=bfSNC_Kclass="sref">bfSNC_Ka>(vo
 1121/a>
 112                   href="+code=bfin_t350mcqb_config_dma" class="sref">bfin_t350mcqb_config_dma(st href="+code=fbi" class="sref">fbi)
< 112                   href="+code=bfin_t350mcqb_config_dmi" class="sref">bfin_t350mcqb_config_ppi(st href="+code=fbi" class="sref">fbi)
< 1121/a>                   href="+code=bfin_t350mcqb_coit_timers" class="sref">bfin_t350mcqb_init_timers(vo< 112
/* synrt_a a
 1222/a>              0xbfable_gpa" a>(CH_PPI, < 122        bfin_t350mcqb_enable_ppi(vo< 1222/a>                   href="+code=bfin_t350mcqb_reart_timers" class="sref">bfin_t350mcqb_start_timers(vo< 1222/a>           1222/a>
 1222/a>        lotp_t3unck" a>(stmp; ~ href="+code=fbi" class="sref">fbi->lock; 
 1222/a>
 1222/a>          return 0 122
< 1323/a>
 1323/a>static int loin_t350mcqb_refrequleas a>(struct fb_info *fbfo *,nt fbus" a>)
 1323/a>{
 1323/a>          ruct bfin_t350mcqbfb_info *fbi)
 fbfo *gt;fbpa a>   1323/a>
 1323/a>        lotp_t3ck" a>(stmp; ~ href="+code=fbi" class="sref">fbi->lock; 
 1323/a>
 132        fbi->lq043_open_cnt;
-- 1323/a>
 1323/a>        fbi->lq043_open_cnt;
lt; 14240a>                   href="+code=bfin_t350mcqb_resable_ppi" class="sref">bfin_t350mcqb_disable_ppi(vo
 1424/a>              0xbfSNC_Ka>(vo
 1424/a>        bfsable_ppa" a>(CH_PPI, < 1424/a>                   href="+code=bfin_t350mcqb_rear_timers" class="sref">bfin_t350mcqb_stop_timers();
 1424/a>           1424/a>
 1424/a>        lotp_t3unck" a>(stmp; ~ href="+code=fbi" class="sref">fbi->lock; 
 142
 1424/a>          return 0 1424/a>
< 1525/a>
 1525/a>static int fbin_t350mcqb_refrecheck_va a>(struct fb_inva _screenfo" a> *fbva a>(s 1525/a>        fb_info *fbfo * 152   152
 152        fbva a>(sgt;psbitserio_pixe a> *<
 152        /* syTRUECOLOUR, 16m/
 1525/a>                   href="+code=bfva class="sref">fbva a>(sgt;TIre a>(s. href="+code=fboffse class="sref">lqoffse a>)
  152                   href="+code=bfva class="sref">fbva a>(sgt;fbgreena>(s. href="+code=fboffse class="sref">lqoffse a>)
  152                   href="+code=peva class="sref">fbva a>(sgt;loilu a>(s. href="+code=fboffse class="sref">lqoffse a>)
  16260a>                   href="+code=bfva class="sref">fbva a>(sgt;TIre a>(s. href="+code=fbleng" class="sref">seleng" a>)
 fbva a>(sgt;fbgreena>(s. href="+code=fbleng" class="sref">seleng" a>)
 fbva a>(sgt;loilu a>(s. href="+code=fbleng" class="sref">seleng" a>)
  1626/a>              0xfbva a>(sgt;fbtranspa>(s. href="+code=fboffse class="sref">lqoffse a>)
  1626/a>        fbva a>(sgt;fbtranspa>(s. href="+code=fbleng" class="sref">seleng" a>)
  1626/a>                   href="+code=bfva class="sref">fbva a>(sgt;fbtranspa>(s. href="+code=fbmsb_righ class="sref">lqmsb_righ a>)
  162                   href="+code=bfva class="sref">fbva a>(sgt;TIre a>(s. href="+code=fbmsb_righ class="sref">lqmsb_righ a>)
  162                   href="+code=DRva class="sref">fbva a>(sgt;fbgreena>(s. href="+code=fbmsb_righ class="sref">lqmsb_righ a>)
  1626/a>                   href="+code=bfva class="sref">fbva a>(sgt;loilu a>(s. href="+code=fbmsb_righ class="sref">lqmsb_righ a>)
  1626/a>                  break 1626/a>          default:a href="drivers/video/bfin-t350mcqb-fb.c#L102" id="L142" class="line" name="L162"> 1626/a>                   href="+code=perr_debu class="sref">serr_debu a>("cu%s: depth not suprts);se__func__a>(s 17270a>                            href="+code=bfva class="sref">fbva a>(sgt;psbitserio_pixe a> *< 1727/a>              0xTIEINVA a>   172         1727/a>
 172           (fbfo *gt;fbva a>(s. href="+code=fbxre class="sref">bfxre a>   !fbva a>(sgt;bfxre a>   |fbfo *gt;fbva a>(s. href="+code=fbyre class="sref">bfyre a>   !fbva a>(sgt;bfyre a>   | 172               href="+code=pefo" class="sref">fbfo *gt;fbva a>(s. href="+code=fbxre _virtua class="sref">psxre _virtua a>   !fbva a>(sgt;psxre _virtua a>   | 172               href="+code=TIfo" class="sref">fbfo *gt;fbva a>(s. href="+code=fbyre _virtua class="sref">psyre _virtua a>   !fbva a>(sgt;psyre _virtua a>  <
 1727/a>                   href="+code=bfrr_debu class="sref">serr_debu a>("cu%s: Resoluon); 1727/a>                            href="+code=DR__func__class="sref">se__func__a>(sfbva a>(sgt;bfxre a>  fbva a>(sgt;bfyre a>  < 1727/a>                  return - href="+code=_xEINVA class="sref">TIEINVA a>   18280a>           1828/a>
 182        /* sspan>
 182
< an class="comment">/*         *  Memory liman>
 182}
 an class="comment">/*         */span>
 182
 1828/a>           (fbfo *gt;fb_ixa>(s. href="+code=fble" _leng" class="sref">sele" _leng" a> *fbva a>(sgt;psyre _virtua a>  <
t;fbfo *gt;fb_ixa>(s. href="+code=fbsmem_lenclass="sref">lotmem_lena>  <
 182                   href="+code=bfrr_debu class="sref">serr_debu a>("cu%s: Memory Lim); 182                            href="+code=DR__func__class="sref">se__func__a>(sfbva a>(sgt;psyre _virtua a>  < 182                  return - href="+code=_xENOME class="sref">TIENOME a>   19290a>           1929/a>
 1929/a>         1929/a>}
 1929/a>
 192  t fbin_t350mcqb_refrecurso a>(fb_info *fbfo *,nruct fbfrecurso a>(<fbcurso a>(<  929/a>{
  929/a>           (fbnocurso a>(<  929/a>                  return 0  929/a>          elsea href="drivers/video/bfin-t350mcqb-fb.c#L183" id="L103" class="line" name="L103"> 10300a>                  return - href="+code=_xEINVA class="sref">TIEINVA a>  <  an class="comment">/* syjust to force softecurso () call */span>
 103   1030/a>
 1030/a>
sein_t350mcqb_refresetcolre a>(lqunfo a>    href="+code=fbregn class="sref">fbregn a>(slqunfo a>    href="+code=fbre class="sref">TIre a>(slqunfo a>    href="+code=fbgreenclass="sref">fbgreena>(s 1030/a>                                      href="+code=DRunfo class="sref">lqunfo a>    href="+code=fbblu class="sref">loilu a>(slqunfo a>    href="+code=fbtranspclass="sref">fbtranspa>(s 1030/a>                                     ruct fb_info *fbfo * 1030/a>{
 1030/a>           (fbregn a>(s
t;V_BFIN_D_BPNBR_PALETTE_ENTRI" a> * 1030/a>                  return - href="+code=_xEINVA class="sref">TIEINVA a>   1030/a>
 11310a>           (fbfo *gt;fbva a>(s. href="+code=fbgrayscal class="sref">lograyscal a>  <
 1131/a>              0x/* sygrayscal  
 1131/a>        TIre a>(s fbgreena>(s loilu a>(s TIre a>(s * 77 +a href="+code=DRgreenclass="sref">fbgreena>(s *51loilu a>(s * 28<
t; 1131/a>           1131/a>
 11315a>           (fbfo *gt;fb_ixa>(s. href="+code=fbvisua class="sref">psvisua a>(s <prFB_VISUAL_TRUECOLORa>  <
 1131/a>
 113                   href="+code=bfu" class="lief">lqu3/a>{
a href="+code=DRvalu class="sref">lovalu a>   1131/a>                   an class="comment">/* syPlace colornt  the pseudopal tte */span>
 1131/a>                   (fbregn a>(s
t;TIEINVA a>   1232/a>
 123        TIre a>(s t;fbfo *gt;fbva a>(s. href="+code=fbre class="sref">TIre a>(s. href="+code=fbleng" class="sref">seleng" a>)
< 1232/a>                   href="+code=bfgreenclass="sref">fbgreena>(s t;fbfo *gt;fbva a>(s. href="+code=fbgreenclass="sref">fbgreena>(s. href="+code=fbleng" class="sref">seleng" a>)
< 1232/a>                   href="+code=bfblu class="sref">loilu a>(s t;fbfo *gt;fbva a>(s. href="+code=fbblu class="sref">loilu a>(s. href="+code=fbleng" class="sref">seleng" a>)
< 1232/a>
 1232/a>                   href="+code=bfvalu class="sref">lovalu a>   TIre a>(s t;fbfo *gt;fbva a>(s. href="+code=fbre class="sref">TIre a>(s. href="+code=fboffse class="sref">lqoffse a>)
)
 1232/a>                      a href="+code=pegreenclass="sref">fbgreena>(s t;fbfo *gt;fbva a>(s. href="+code=fbgreenclass="sref">fbgreena>(s. href="+code=fboffse class="sref">lqoffse a>)
)
 1232/a>                      a href="+code=peblu class="sref">loilu a>(s t;fbfo *gt;fbva a>(s. href="+code=fbblu class="sref">loilu a>(s. href="+code=fboffse class="sref">lqoffse a>)
< 1232/a>                   href="+code=pevalu class="sref">lovalu a>   mp; ~= 0xFFFFFF 1333/a>
 1333/a>              0xlqu3/a>{
a*)fbfo *gt;serseudo_pal ttea>)
<)[ href="+code=peregn class="sref">fbregn a>(s] lovalu a>   1333/a>
 1333/a>           1333/a>
 1333/a>         1333/a>
< 1333/a>
 1333/a>
bf_inop a>    href="+code=fbbn_t350mcqb_refreop class="sref">bfbn_t350mcqb_refreop a>    1333/a>        fbown" a>(s INTHIS_MODU" a>(s 14340a>          . href="+code=fb_buen_cclass="sref">bf_buen_ca>(s bfin_t350mcqb_re_buen_ca>(s 1434/a>          . href="+code=fb_buquleas class="sref">lofrequleas a>(s loin_t350mcqb_refrequleas a>(s 1434/a>        fbfrecheck_va a>(s fbin_t350mcqb_refrecheck_va a>(s 1434/a>          . href="+code=fb_bufillrec class="sref">lq_bufillrec a>(s lqc_bufillrec a>(s 1434/a>          . href="+code=fb_bucopyare class="sref">bf_bucopyare a>(s bfc_bucopyare a>(s 14345a>          . href="+code=fb_buimagebli class="sref">lq_buimagebli a>(s lqc_buimagebli a>(s 1434/a>        fbfrecurso a>(<<fbin_t350mcqb_refrecurso a>(< 14347a>        sefresetcolre a>(<<sein_t350mcqb_refresetcolre a>(< 1434/a>  
 1434/a>
 1535/a>
<#ifndefa href="+code=DRNO_BL_SUPPOR class="sref">TINO_BL_SUPPOR a>
 1535/a>static int bfbl_get_brigh nes a>staruct loiackligh _devic a> *TIbda> * 1535/a>{
 1535/a>          return 0 1535/a>}
 1535/a>
 1535/a>static  bfbackligh _op a>    href="+code=fbbn_t3043_ofrebl_op class="sref">bfbn_t3043_ofrebl_op a>    15357a>        bfget_brigh nes a>st bfbl_get_brigh nes a>st 1535/a>  
 1535/a>
 16360a>  atic inruct loiackligh _devic a> *bfbl_deva>   1636/a>
 1636/a>  atic int fbin_t3lcd_get_pow" a>staruct lolcd_devic a> *bfdeva>   1636/a>   163          return 0 163   1636/a>
 1636/a>  atic int fbin_t3lcd_set_pow" a>staruct lolcd_devic a> *bfdeva>  ,nt fbpow" a>st 1636/a>   1636/a>          return 0 17370a>   1737/a>
 1737/a>  atic int pein_t3lcd_get_contra" a>staruct lolcd_devic a> *bfdeva>   1737/a>   1737/a>          return 0 1737/a>   1737/a>
 1737/a>  atic int pein_t3lcd_set_contra" a>staruct lolcd_devic a> *bfdeva>  ,nt pecontra" a>st 1737/a>   1737/a>
 18380a>          return 0 1838/a>   1838/a>
 1838/a>
pein_t3lcd_check_fba>staruct lolcd_devic a> *bfdeva>  ,nruct fb_info *fbiia>st 183}
 18385a>           (fbiia>st |fbiia>st == mp; ~ href="+code=fbin_t350mcqb_refrclass="sref">sein_t350mcqb_refra>)
<)a href="drivers/video/bfin-t350mcqb-fb.c#L193" id="L153" class="line" name="L183"> 1838/a>                  return 1 183          return 0 183   1838/a>
 19390a>  atic inruct bflcd_op a>    href="+code=fbbn_t30cd_op class="sref">bfbn_t30cd_op a>    1939/a>          . href="+code=fbget_pow" class="sref">fbget_pow" a>st<fbin_t3lcd_get_pow" a>st 1939/a>        fbset_pow" a>st<fbin_t3lcd_set_pow" a>st 1939/a>          . href="+code=fbget_contra" class="sref">peget_contra" a>st<pein_t3lcd_get_contra" a>st 1939/a>          . href="+code=fbset_contra" class="sref">peset_contra" a>st<pein_t3lcd_set_contra" a>st 19395a>          . href="+code=fbcheck_fbclass="sref">pecheck_fba>st<pein_t3lcd_check_fba>st  939/a>{

  939/a>
  939/a>
lolcd_devic a> *lolcd_deva>    939/a>  #endifa href="drivers/video/bfin-t350mcqb-fb.c#L104" id="L104" class="line" name="L104"> 1040/a>
 1040/a>static in href="+code=fbirqreturn_ class="sref">peirqreturn_ a>    href="+code=fbbn_t350mcqb_reirq_erro class="sref">fbin_t350mcqb_reirq_erro a>stat peirqa>  ,nvoidTIdev_i a>st 1040/a>{
 1040/a>           an class="comment">/* sruct 
 1040/a>
 1040/a>           href="+code=fbu" class="lief">lqu1/a>
bftticu a>st<V_bn_t3readPIsta< 1040/a>        V_bn_t3writePIsta0xFFFF< 1040/a>
 1040/a>           (bftticu a>st<
 1040/a>                   href="+code=pein_t350mcqb_resable_ppi" class="sref">bfin_t350mcqb_disable_ppi(vo
 11410a>                   href="+code=bfsable_ppa" class="sref">bfsable_ppa" a>(CH_PPI, < 1141/a>
 1141/a>        /* syttirt a"  */span>
 1141/a>                   href="+code=bfenle_ppa" class="sref">bfenle_ppa" a>(CH_PPI, < 1141/a>                   href="+code=bfbn_t350mcqb_dienle_ppi" class="sref">bfin_t350mcqb_dienle_ppi" a>(vo
 11415a>                V_bn_t3writePIsta0xFFFF< 1141/a>         1141/a>
 1141/a>          return  href="+code=seIRQ_HANDLEDclass="sref">V_IRQ_HANDLEDa>   1141/a>
< 1242/a>static int loin_t350mcqb_reprob a>staruct loplatform_devic a> *lopdeva>   1242/a>{
 1242/a>  #ifndefa href="+code=DRNO_BL_SUPPOR class="sref">TINO_BL_SUPPOR a>
 1242/a>          ruct bfbackligh _propertie a>
bfprop a>   1242/a>
<#endifa href="drivers/video/bfin-t350mcqb-fb.c#L104" id="L124" class="line" name="L124"> 1242/a>          ruct loin_t350mcqb_r_info *fbfo * 1242/a>          ruct fb_info *fb_ifo * 1242/a>          t lqre a>)
 1242/a>
 13430a>           href="+code=seprt bfprt (bfKERN_INFOa>
INDRIVER_NAM a>
"cu: %dx%d %d-bit RGB Fre="Buffernt itializg">...\nuot;); 1343/a>              0xV_D_BPX_R" a>  ,n href="+code=seD_BPY_R" class="sref">V_D_BPY_R" a>  ,n href="+code=seD_BPBPPclass="sref">V_D_BPBPPa>, < 1343/a>
 1343/a>           (bfreest_lpa" a>(CH_PPI, ,a an class="string">"cu_PPI);) t; 1343/a>                   href="+code=bfprt bfprt (prKERN_ERRa>
INDRIVER_NAM a>
 13435a>                "cu: couldn'/ quest_l _PPI);< 1343/a>                   href="+code=bfre class="sref">lqre a>)
 = - href="+code=_xEFAUL class="sref">TIEFAUL a>)
 1343/a>                  goto  href="+code=bfout1class="sref">TIout1a>)
 1343/a>           1343/a>
 14440a>           href="+code=sefbfo" class="sref">fb_ifo * =a href="drivers/video/bfin-t350mcqb-fb.c#L124" id="L134" class="line" name="L144"> 1444/a>               href="+code=sefre="buffer_allocclass="sref">fb_re="buffer_alloca>starizeofaruct loin_t350mcqb_r_info *), mp; ~ href="+code=fbpdevclass="sref">lopdeva>  gt;bfdeva>  < 1444/a>        fb_ifo *<
 1444/a>                   href="+code=bfre class="sref">lqre a>)
 = - href="+code=_xENOME class="sref">TIENOME a>   1444/a>                  goto  href="+code=bfout class="lief">lqout a>   14445a>           1444/a>
 14447a>        fbfo *<fb_ifo *gt;fbpa a>(s 14448a>        fbfo *gt;pefba>st<fb_ifo * 14449a>        fbfo *gt;bfdeva>   = mp; ~ href="+code=fbpdevclass="sref">lopdeva>  gt;bfdeva>   15450a>           href="+code=sesp_t3lock_t itclass="sref">bftp_t3lock_t ita>stamp; ~ href="+code=fbfo" class="sref">fbfo *gt;lolocka>  < 1545/a>
 15452a>           href="+code=seplatform_set_drvdat class="sref">bfplatform_set_drvdat a>(lopdeva>  ,n href="+code=sefbfo" class="sref">fb_ifo *< 1545/a>  a href="drivers/video/bfin-t350mcqb-fb.c#L104" id="L134" class="line" name="L154"> 15454a>           href="+code=sestrcpyclass="sref">bfttrcpya>(fb_ifo *gt;fb_ixa>(s. href="+code=fbi class="sref">TIi a>(sbfdvers/_me="a> *< 1545/a>
 1545/a>        fb_ifo *gt;fb_ixa>(s. href="+code=fbtyp"class="sref">bftyp"a>st<V_FB_TYPE_PACKED_PIXEL a>   15457a>        fb_ifo *gt;fb_ixa>(s. href="+code=fbtyp"_auxclass="sref">fbtyp"_auxa>st< 15458a>        fb_ifo *gt;fb_ixa>(s. href="+code=fbxpanstepclass="sref">fbxpanstepa>st< 15459a>        fb_ifo *gt;fb_ixa>(s. href="+code=fbypanstepclass="sref">fbypanstepa>st< 16460a>           href="+code=sefbfo" class="sref">fb_ifo *gt;fb_ixa>(s. href="+code=fbywrapstepclass="sref">fbywrapstepa>st< 16461a>           href="+code=sefbfo" class="sref">fb_ifo *gt;fb_ixa>(s. href="+code=fbacce class="sref">psacce a>st<INFB_ACCEL_NON a>   16462a>           href="+code=sefbfo" class="sref">fb_ifo *gt;fb_ixa>(s. href="+code=fbvisua class="sref">psvisua a>(s prFB_VISUAL_TRUECOLORa>   1646/a>  a href="drivers/video/bfin-t350mcqb-fb.c#L104" id="L154" class="line" name="L164"> 16464a>           href="+code=sefbfo" class="sref">fb_ifo *gt;fbva a>(s. href="+code=fbnonst class="sref">TInonst a>st< 1646/a>           href="+code=fbfbfo" class="sref">fb_ifo *gt;fbva a>(s. href="+code=fbactivateclass="sref">seactivatea>st<INFB_ACTIVATE_NOWa>   1646/a>        fb_ifo *gt;fbva a>(s. href="+code=fbheigh class="sref">fbheigh a>st< 16467a>        fb_ifo *gt;fbva a>(s. href="+code=fbwid" class="sref">sewid" a>st< 16468a>        fb_ifo *gt;fbva a>(s. href="+code=fbacce _flag class="sref">bfacce _flag a>st< 16469a>        fb_ifo *gt;fbva a>(s. href="+code=fbvme=fclass="sref">fbvme=fa>(s V_FB_VMODE_NONINTERLACEDa>   1747/a>
 17471a>           href="+code=sefbfo" class="sref">fb_ifo *gt;fbva a>(s. href="+code=fbxre class="sref">bfxre a>(s V_D_BPX_R" a>   17472a>           href="+code=sefbfo" class="sref">fb_ifo *gt;fbva a>(s. href="+code=fbxre _virtua class="sref">psxre _virtua a>(s V_D_BPX_R" a>   17473a>           href="+code=sefbfo" class="sref">fb_ifo *gt;fbva a>(s. href="+code=fbyre class="sref">bfyre a>(s V_D_BPY_R" a>   17474a>           href="+code=sefbfo" class="sref">fb_ifo *gt;fbva a>(s. href="+code=fbyre _virtua class="sref">psyre _virtua a>(s V_D_BPY_R" a>   1747/a>           href="+code=fbfbfo" class="sref">fb_ifo *gt;fbva a>(s. href="+code=fbbits_per_pixe class="sref">psbits_per_pixe a>(s V_D_BPBPPa>,  1747/a>
 17477a>        fb_ifo *gt;fbva a>(s. href="+code=fbre class="sref">TIre a>(s. href="+code=fboffse class="sref">lqoffse a>)
< 17478a>        fb_ifo *gt;fbva a>(s. href="+code=fbgreenclass="sref">fbgreena>(s. href="+code=fboffse class="sref">lqoffse a>)
< 17479a>        fb_ifo *gt;fbva a>(s. href="+code=fbblu class="sref">loilu a>(s. href="+code=fboffse class="sref">lqoffse a>)
< 18480a>           href="+code=sefbfo" class="sref">fb_ifo *gt;fbva a>(s. href="+code=fbtranspclass="sref">fbtranspa>(s. href="+code=fboffse class="sref">lqoffse a>)
< 18481a>           href="+code=sefbfo" class="sref">fb_ifo *gt;fbva a>(s. href="+code=fbre class="sref">TIre a>(s. href="+code=fbleng" class="sref">seleng" a>)
< 18482a>           href="+code=sefbfo" class="sref">fb_ifo *gt;fbva a>(s. href="+code=fbgreenclass="sref">fbgreena>(s. href="+code=fbleng" class="sref">seleng" a>)
< 18483a>           href="+code=sefbfo" class="sref">fb_ifo *gt;fbva a>(s. href="+code=fbblu class="sref">loilu a>(s. href="+code=fbleng" class="sref">seleng" a>)
< 18484a>           href="+code=sefbfo" class="sref">fb_ifo *gt;fbva a>(s. href="+code=fbtranspclass="sref">fbtranspa>(s. href="+code=fbleng" class="sref">seleng" a>)
< 1848/a>           href="+code=fbfbfo" class="sref">fb_ifo *gt;fb_ixa>(s. href="+code=fbsmem_lenclass="sref">fbsmem_lena>(s V_D_BPX_R" a>   *a href="+code=DRD_BPY_R" class="sref">V_D_BPY_R" a>   *a href="+code=DRD_BPBPPclass="sref">V_D_BPBPPa>,  /a8 1848/a>
 18487a>        fb_ifo *gt;fb_ixa>(s. href="+code=fbne" _leng" class="sref">sele" _leng" a>(s fb_ifo *gt;fbva a>(s. href="+code=fbxre _virtua class="sref">psxre _virtua a>(s *a href="drivers/video/bfin-t350mcqb-fb.c#L164" id="L154" class="line" name="L184"> 1848/a>               href="+code=fbfbfo" class="sref">fb_ifo *gt;fbva a>(s. href="+code=fbbits_per_pixe class="sref">psbits_per_pixe a>(s /a8 1848/a>
 1949/a>
 19491a>           href="+code=sefbfo" class="sref">fb_ifo *gt;bf_iop a>   bfbn_t350mcqb_refreop a>   19492a>           href="+code=sefbfo" class="sref">fb_ifo *gt;bfflag a>st<TIFBINFO_FLAG_DEFAUL a>   1949/a>  a href="drivers/video/bfin-t350mcqb-fb.c#L104" id="L174" class="line" name="L194"> 19494a>           href="+code=sefo" class="sref">fbfo *gt;fb_i_buffera>st</lass="sref">fbdma_alloc_cohert">a>sta href="+code=CHNULL/lass="sref">fbNULLa>st,n href="+code=sefbfo" class="sref">fb_ifo *gt;fb_ixa>(s. href="+code=fbsmem_lenclass="sref">fbsmem_lena>(s +a href="drivers/video/bfin-t350mcqb-fb.c#L104" id="L104" class="line" name="L194"> 19495a>                TIACTIVE_VIDEO_MEM_OFFSE a>st,a href="drivers/video/bfin-t350mcqb-fb.c#L104" id="L154" class="line" name="L964">  949/a>                                  mp; ~ href="+code=fbfo" class="sref">fbfo *gt;bfdma_handl"a>st,n href="+code=seGFP_KERNEL/lass="sref">fbGFP_KERNELa>st<  949/a>
  949/a>           (fbNULLa>st ==  href="+code=sefo" class="sref">fbfo *gt;fb_i_buffera>st<
  949/a>                   href="+code=peprt bfprt (prKERN_ERRa>
INDRIVER_NAM a>
 10500a>                          an class="string">"cu: couldn'/ allocate a"  buffer.\nuot;);< 1050/a>              0xlqre a>)
 = - href="+code=_xENOME class="sref">TIENOME a>   1050/a>        TIout3a>   1050/a>           1050/a>
 1050/a>           href="+code=fbfbfo" class="sref">fb_ifo *gt;loscreen_bas a>)
 = (voidfbfo *gt;fb_i_buffera>st<+  href="+code=fbACTIVE_VIDEO_MEM_OFFSE class="sref">TIACTIVE_VIDEO_MEM_OFFSE a>st 1050/a>        fb_ifo *gt;fb_ixa>(s. href="+code=fbsmem_ttirtclass="sref">fbsmem_ttirta>)
 = (t <) href="+code=sefo" class="sref">fbfo *gt;fb_i_buffera>st<+  href="+code=fbACTIVE_VIDEO_MEM_OFFSE class="sref">TIACTIVE_VIDEO_MEM_OFFSE a>st 1050/a>
 10508a>        fb_ifo *gt;bf_iop a>   bfbn_t350mcqb_refreop a>   1050/a>
 11510a>           href="+code=sefbfo" class="sref">fb_ifo *gt;sepseudo_palettea>   fbfo *gt;sepseudo_pala>   1151/a>
 1151/a>        fbfrealloc_cmapa>(fb_ifo *gt;fbcmapa>(<,n href="+code=seBFIN_D_BPNBR_PALETTE_ENTRI" class="sref">V_BFIN_D_BPNBR_PALETTE_ENTRI" a>(<,n0 1151/a>              t; 1151/a>                   href="+code=bfprt bfprt (prKERN_ERRa>
INDRIVER_NAM a>
 11515a>                "cuFail to allocate colormap (%d eninges)\nuot;); 1151/a>                         /a> *gt;fb_ixa>(s. href="+code=fbne" _leng" class="sref"> eninges)\nuot;
 1=984"> 1040/a>   64)\nuoa>    13430a>           href="+code=se    ; 1141/a>
<51242/a>static int fbref="drivers/v=CH_PPI"portrefreop a>  51242/a>{
/* syttirref">bfprt (prKERN_ERRa>
INDRIVER_NAM a>
51242/a>  #ifndefa href="5code=52+code=bfre class="sref">lqre a>)
 = - href="+code=_xENOME class="sref">TIENOME a> ~ href="+code=fbins)\nuot;51242/a>          ruct lqout a>   1242/a>
<#endifa href="d5ivers52s/video/bfin-t350mcqb-fb.c#L184" id="L134" class="line" na5e="L124">51242/a>          ruct 51242/a>          ruct fbfo *<fbcmapa>(<,oid/lass="sreef="+codeversoidprKERN_n href="+code=sefbfo" class="0-t350mcqb-fb.c#L105" id="L105" class="line" name.cb.cb.cb1242/a>          t fbNULLa>st fbcmapa>(<,oid51242/a>
bfprt TIENOME a>INVA href="+code=sef>INVA ;513430a>           href="5code=53 an class="string">&qs="lief">lqout a>  51343/a>              0x<5aaaaa5aaaaaaaaaaaaaat350mcqb-fb.c#L184" id="L134" class="line" na5e="L134">51343/a>
51343/a>           (fb_ifofb_ifoprKERN_fbcmapa>(<,oid51343/a>                 5 href5"+code=bfprt fbfo *<513435a>                <5     5  an class="st" class="sref">bfreeshref="+code=_xENOME claseo/bfin-t350mcqb-fb.c#L195" id="L105" class="line" name="L134">51343/a>                 5 href5"+code=bfre class="sref">lqre a>)
 = >(prKERN_ERRa>
INDRIVER_NAM a>
51343/a>                 5goto 5href="+code=bfout1clasclass="scouldn'/ quest_l _PPI<: uers/vd enan>);<51343/a>           13430a>         7="+code=setticua h7;51343/a>
514440a>           href="5code=54fin-t350mcqb-fb.c#L104" id="L124" class="line" na5e="L144">51444/a>               hr5f="+c541=pefrealloc_cmapclass="sref">fbregister_aruct prKERN_> *<
51444/a>        /* syttirref">bfprt (prKERN_ERRa>
INDRIVER_NAM a>
51444/a>                 5 href5"+code=bfre class="sreclass="scouldn'/ quest_l _PPI<: uers/vd enangister aruct 51444/a>                 5goto 5href="+code=bfout classref">bfprt TIENOME a>INVA href="+code=sef>INVA ;514445a>          &qL134"> 13430a>         8="+code=setticua h8;51444/a>
514447a>        TINO_BL_SUPPOR a>
514448a>        fbfo *gmem<fb_ifobfbackligh _propertie a>
514449a>        fbfo *g bftyp"a>st<  515450a>           href="5code=5esp_t3lock_t itclass="sref">b bftyp"a>st51545/a>
fb_ifofbfo *fb_ifo515452a>           href="5code=55ss="comment">/* syttiiiiiiiiiiiiiiiiiiiiiiiiiiiicqb_refreop class="sref">lq043=fbAlqb_refreop a>  fb_ifo51545/a>  a href="drivers5video55e=pereest_lpa" class="sref">bfreIS>
prKERN_bl_ href="+code=sefbfbl_ hrE_PA)n-t350mcqb-fb.c#L195" id="L105" class="line" name="L154">515454a>           href="5code=55+code=bfprt bfprt (prKERN_ERRa>
INDRIVER_NAM a>
51545/a>
51545/a>        lqre a>)
 = - href="+code=_xEFAUL class="sref">TIEFAUL a>INVA href="+code=sef>INVA ;515457a>        prKERN_> *<
515458a>         13430a>         8="+code=setticua h8;515459a>        516460a>           href="5code=56fin-t350mcqb-fb.c#L104" id="L124" class="line" na5e="L164">516461a>           href="5code=5efbfo" class="sref">fb_ifo
prKERN_IVER_NAM a>
fbfo *lcd_b_refreop a>  516462a>           href="5code=5efbfo" class="sref">fb_ifosepseubftyp"a>stfbfo *<>(bfKERN_INFOa>
51646/a>  a href="drivers5video5bfin-tbfin-t350mcqb-fb.c#L104" id="L124" class="line" na5e="L164">516464a>           href="5code=56fin-t350mcqb-fb.c#L155"5id="L105" class="line" name="L164">51646/a>           href="5code=5bfbfo" class="NDLEDcl-t350mcqb-fb.c#L104" id="L104" class="line" na5e="L164">51646/a>        516467a>         13430a>         8="+code=setticua h8;516468a>        fb_iforee"oidprKERN_fbcmapa>(<,oid516469a>         13430a>         7="+code=setticua h7;51747/a>
bref="drivers/v=CH_PPI"portrefreop a>  517471a>           href="5code=5efbfo"ef">lqout a>  517472a>           href="5code=5efbfo" class="sref">fb_ifo _ halloc_cmapa>(fb_ifo *gt;fbcmapa>(<,n href="+code=seBFIN_D_BPNB-t350mcqb-fb.c#L105" id="L105" class="line" name="L164">517473a>           href="5code=5efbfo"ef">lqout a>  517474a>           href="5code=5efbfo" class="sref">fb_iforee"lloc_cohert">a>sta href="+c>ree"lloc_cohclass="sref">prKERN_n href="+code=sefbfo" class="sref">fb_ifo *gt;fb_ixa>(s. href="+code=fbsmem_lenclass="sref">fbsmem_lena>(s +a href="drivers/video/bfin-t_MEM_OFFSE class="sref">TIACTIVE_VIDEO_MEM_OFFSE a>st,a href="drivers/video/bfin-t350mcqb-fb.c#L104" id="L154" class="line" na5e="L174">51747/a>           href="5code=57          href="+code=fbACTIVE="sref">prKERN_fbcmapa>(<,uffera>st<+  href="+code=fbACTIVE_VIDR_PALETTE_ENTRI" bfdma_handl"a>st,n href="+code=seGFP_KERNEL/-t350mcqb-fb.c#L105" id="L105" class="line" name="L164">51747/a>
lqout a>  517477a>        fb_iforuct )
 = (voidruct class="sref">prKERN_> *<
517478a>        lqout a>  517479a>        fb_iforee" a>(class="sref">prKERN_>, ,a an class="string">"cn3ivers/video/bfi"ideo/bfin-t350mcqb-fb.cb.cb.ce="L184">518480a>           href="5code=5efbfo"ef">lqout a>  518481a>           href="5code=5efbfo" class="sref">fb_ifobfplatform_set_drvdat a>(lopdeva>  ,n href="+code=sefbfo" class="sref">fb_ifo518482a>           href="5code=58fin-t350mcqb-fb.c#L114" id="L134" class="line" na5e="L184">518483a>           href="5code=5efbfo" class="NDLEDclf">lqre a>)
 = - href="+code=_xEFAUL cla3ivers/video/bfi"ideo/bfin-t350mcqb-fb.cb.cb.ce="L164">518484a>           href="5code=5efbfo"t350mcqb-fb.c#L185" id="L105" class="line" name="L184">51848/a>           href="5code=58fin-t350mcqb-fb.c#L184" id="L154" class="line" na5e="L184">51848/a>
loin_t35eremov>)
 = (voidloin_t35eremov>s="sr0mcqb_r_info(lopdeva>  ,n href="+code=sefbfo" classt350mcqb-fb.c#L195" id="L115" class="line" name="L184">518487a>        51848/a>               hr5f="+c5de=fbf350mcqb-fb.c#L195" id="L105" class="line" name="L164">51848/a>
 *), mode=fbpdevc *ef">lopdeva>  ,> * =a href="drivers/video/bfin-thert">/lass="sreef="+codeversrm_set_drvdat a>(lopdeva>  ,n href="+code=sefbfo" classn3ivers/video/bfi"ideo/bfin-t350mcqb-fb.cb.cb.ce="L194">51949/a>
loin_t350mcqb_r_info *), mp; ~ href="+code=fbpdevc *ef">lopdeva>  ,fb_ifo *gt;fbpa a>(s519491a>           href="5code=59fin-t350mcqb-fb.c#L175" id="L115" class="line" name="L194">519492a>           href="5code=5efbfo" class="sref">fb_ifoprKERN_> *<
51949/a>  a href="drivers5video5bfin-t350mcqb-fb.c#L104" id="L174" class="line" na5e="L194">519494a>           href="5code=5efo" class="sref">fbfo *g>ree" a>(class="sref">prKERN_>, ,a an class="string">"cn3ivers/video/bfi"ideo/bfin-t350mcqb-fb.cb.cb.ce="L194">519495a>                <5     5           hresref">fb_iforee"oidprKERN_fbcmapa>(<,oid5 949/a>                 5     59fin-t350mcqb-fb.c#L164" id="L174" class="line" na5e="L974">5 949/a>
fbNULLa>st fbcmapa>(<,uffera>st<+  href="+code=fbACTIVE_VIDE!="sref">fb_ifo5 949/a>           (fb_iforee"lloc_cohert">a>sta href="+c>ree"lloc_cohclass="sref">prKERN_n href="+code=sefbfo" class="sref">fb_ifo *gt;fb_ixa>(s. href="+code=fbsmem_lenclass="sref">fbsmem_lena>(s +a href="drivers/video/bfin-t350mcqb-fb.c#L164" id="L174" class="line" na5e="L164">5 949/a>                 5 href5"+code=peprt fb_ifoTIACTIVE_VIDEO_MEM_OFFSE a>st,a href="drivers/video/bfin-tE="sref">prKERN_fbcmapa>(<,uffera>st<+  href="+code=fbACTIVE_VIDR350mcqb-fb.c#L164" id="L174" class="line" na6e="L105">610500a>                 6     6  an class="string">"cu:_PALETTE_ENTRI" bfdma_handl"a>st,n href="+code=seGFP_KERNEL/-t350mcqb-fb.c#L105" id="L105" class="line" na6e="L105">61050/a>              0x<6 href60fin-t350mcqb-fb.c#L175" id="L115" class="line" na6e="L195">61050/a>        fb_ifo _ halloc_cmapa>(fb_ifo *gt;fbcmapa>(<,n href="+code=seBFIN_D_BPNB-t350mcqb-fb.c#L105" id="L105" class="line" na6e="L195">61050/a>          61050/a>
TINO_BL_SUPPOR a>
61050/a>           href="6code=6bfbfo" class="sref">fb_ifo
prKERN_lcd_ href="+code=sefbflcd_ hrE_PA-t350mcqb-fb.c#L105" id="L105" class="line" na6e6"L195">61949/a>                 6code=6efbfo" class="sref">fb_ifo
prKERN_bl_ href="+code=sefbfbl_ hrE_PA)t350mcqb-fb.c#L105" id="L105" class="line" na6e7"L195">61949/a>
610508a>        61050/a>
fb_ifo  611510a>           href="6code=61fin-t350mcqb-fb.c#L104" id="L124" class="line" na6e="L115">61151/a>
fb_ifobfplatform_set_drvdat a>(lopdeva>  ,n href="+code=sefbfo" class="sref">fb_ifo61151/a>        fb_iforuct )
 = (voidruct class="sref">prKERN_> *<
61151/a>              t;<6 0<
<61fin-t350mcqb-fb.c#L104" id="L174" class="line" na6e="L115">61151/a>                 6 href61fo" class="sref">fbfo *g>(bfKERN_INFOa>
bfKERNIVER_NAM a>
611515a>                <6     61fin-t350mcqb-fb.c#L184" id="L154" class="line" na6e="L115">61151/a>                 6     6 /a> *gt;61141/a>
<TICONFIG_P href="drivers/vCONFIG_P =fbf350mcqb-fb.c#L195" id="L105" class="line" na6e="L1142>61142/a>
loin_t35esuspfinefreop a>  (lopdeva>  ,n href="+code=sefbfo" classtref">fbfo *<>m_message_hert">a>sta href>m_message_hAM cla="sref">bfKERNstatadrvdat a>(61242/a>static int 61242/a>{
0mcqb_r_info *), mode=fbpdevc *ef">lopdeva>  ,> * =a href="drivers/video/bfin-thert">/lass="sreef="+codeversrm_set_drvdat a>(lopdeva>  ,n href="+code=sefbfo" classn3ivers/video/bfi"ideo/bfin-t350mcqs="line" na6e="L115">61242/a>  #ifndefa href="6code=62+code=bfre cl0mcqb_r_infoloin_t350mcqb_r_info *), mp; ~ href="+code=fbpdevc *ef">lopdeva>  ,vid href="drivers/vidclass="sref">fb_ifo *gt;fbpa a>(s61242/a>          ruct 61242/a>
<#endifa href="d6ivers62s/video/bfin-cmapclass="sref">fbfrd href="drivers/vidclas="sref">fbpa a>(sa>sta hreflq043_opfi_cohlassn-t350mcqb-fb.c#L195" id="L105" class="line" na6e="L124">61242/a>          ruct lqre a>)
 = ref="drivers/vdisrs/v_ppd href="drivers/ref="drivers/vdisrs/v_ppds="srn3ivers/video/bfi"ideo/bfin-t350mcqs="line" na6eAM class61242/a>          ruct (prKERN_>, ,a an class="string">"cn3ivers/video/bfi"ideo/bfin-t350mcqb-fb.cb.cb.6e.cb.cb.c61242/a>          t fb_ifo  61242/a>
bfprt &qu_STATU_leng" class="srref="write>&qu_STATU_s="sr-1n3ivers/video/bfi"ideo/bfin-t350mcqs="line" na6e="L134">613430a>           href="6code=63 an class="stt350mcqb-fb.c#L185" id="L105" class="line" na6e="L124">61343/a>              0x<6aaaaa63fin-t350mcqb-fb.c#L175" id="L115" class="line" na6e="L134">61343/a>
61343/a>           (61343/a>                 6 href63fbfo"t350mcqb-fb.c#L185" id="L105" class="line" na6e="L134">613435a>                <6     63fin-t350mcqb-fb.c#L184" id="L154" class="line" na6e="L134">61343/a>                 6 href63fin-tstatic in_r_infoloin_t35eresum>)
 = (voidloin_t35eresum>s="sr0mcqb_r_info(lopdeva>  ,n href="+code=sefbfo" classt350mcqb-fb.c#L195" id="L115" class="line" na6e="L124">61343/a>                 6goto 63fbfo"t350mcqb-fb.c#L195" id="L105" class="line" na6e="L134">61343/a>          lopdeva>  ,> * =a href="drivers/video/bfin-thert">/lass="sreef="+codeversrm_set_drvdat a>(lopdeva>  ,n href="+code=sefbfo" classn3ivers/video/bfi"ideo/bfin-t350mcqs="line" na6e="L995">61343/a>
loin_t350mcqb_r_info *), mp; ~ href="+code=fbpdevc *ef">lopdeva>  ,vid href="drivers/vidclass="sref">fb_ifo *gt;fbpa a>(s614440a>           href="6code=64fin-t350mcqb-fb.c#L104" id="L124" class="line" na6e="L144">61444/a>               hr6f="+c641=pefrealloc_cmapclass="sref">fbfrd href="drivers/vidclas="sref">fbpa a>(sa>sta hreflq043_opfi_cohlassn-t350mcqb-fb.c#L195" id="L105" class="line" na6e="L144">61444/a>        /* syttirref">bfprt loin_t35econfig_ a>(loin_t35econfig_ a>class="sref">prKERN_> * href="drivers/vidclasn3ivers/video/bfi"ideo/bfin-t350mcqs="line" na6e="L134">61444/a>                 6 href6"+code=bfre class="srerref">bfprt loin_t35econfig_ppd href="drivers/ref="drivers/vconfig_ppdclass="sref">prKERN_> * href="drivers/vidclasn3ivers/video/bfi"ideo/bfin-t350mcqs="line" na6e="L134">61444/a>                 6goto 6href="+code=bfout classref">bfprt   614445a>          61444/a>
/* e=sef614447a>        (prKERN_>, ,a an class="string">"cn3ivers/video/bfi"ideo/bfin-t350mcqb-fb.cb.cb.6e="L144">614448a>        fb_ifo614449a>        bfprt   615450a>           href="6code=65 an class="stt350mcqb-fb.c#L185" id="L105" class="line" na6e="L144">61545/a>
615452a>           href="6code=65ss="comment">NDLEDcl-t350mcqb-fb.c#L104" id="L104" class="line" na5e="L154">61545/a>  a href="drivers6video65e=pert350mcqb-fb.c#L185" id="L105" class="line" na6e="L134">615454a>           href="6code=65+code#else350mcqb-fb.c#L185" id="L105" class="line" na6e="L144">61545/a>
loin_t35esuspfinefreop a>  bfprt 61545/a>        loin_t35eresum>)
 = (voidloin_t35eresum>s="sss="sref">bfprt 615457a>        615458a>        615459a>        bfKERNref="drivers/vdc#L19drvdat a>(616460a>           href="6code=66 an class="sts="sref">fbsmem_probadrvdat a>(fb_ifo(616461a>           href="6code=6efbfo" class="s="sref">fbsmem_remov>)
 = (voids="ss="sref">fb_ifo)
 = (voidloin_t35eremov>s="st350mcqb-fb.c#L195" id="L105" class="line" na6e="L144">616462a>           href="6code=6efbfo" class="s="sref">fbsmem_luspfinefreop a>  fb_ifo  61646/a>  a href="drivers6video663bfo" class="s="sref">fbsmem_resum>)
 = (voids="ss="sref">fb_ifo)
 = (voidloin_t35eresum>s="st350mcqb-fb.c#L195" id="L105" class="line" na6e="L134">616464a>           href="6code=664bfo" class="s="sref">fbsmem_dc#L19drvdat a>(61646/a>           href="6code=66          href="+code=fbs="sref">fbsmem_ hredrvdat a>(fb_ifo
61646/a>        fbsmem_own19drvdat a>(fb_ifo
616467a>        616468a>        616469a>        61747/a>
bfKERNref="drivers/vdc#L19vinit
617471a>           href="6code=671=peft350mcqb-fb.c#L195" id="L105" class="line" na6e="L164">617472a>           href="6code=67ss="comment">NDLEDcl_info
bfbn_t350dc#L19drvdat a>(617473a>           href="6code=67e=pert350mcqb-fb.c#L185" id="L105" class="line" na6e="L164">617474a>           href="6code=67fin-t350mcqb-fb.c#L155"5id="L105" class="line" na6e="L174">61747/a>           href="6code=67     static ass="_infobfKERNref="drivers/vdc#L19vcleanuref="+code=seBFIref="drivers/vdc#L19vcleanurs="srass=t350mcqb-fb.c#L195" id="L115" class="line" na6e="L134">61747/a>
617477a>        fb_ifo
bfbn_t350dc#L19drvdat a>(617478a>        617479a>        618480a>           href="6code=6efbfo"ef">lqout a>  _DESCRIPTIONdrvdat a>(_DESCRIPTIONclass=couldn'/ quest_l _PPI618481a>           href="6code=68fbfo"ef">lqout a>  _LICENS>
618482a>           href="6code=68fin-t350mcqb-fb.c#L114" id="L134" class="line" na6e="L184">618483a>           href="6code=68fbfo"ef">lqout a>  prKERN_ref="drivers/vdc#L19vinit
618484a>           href="6code=6efbfo"ef">lqout a>  prKERN_ref="drivers/vdc#L19vcleanuref="+code=seBFIref="drivers/vdc#L19vcleanurs="s-t350mcqb-fb.c#L105" id="L105" class="line" na6e="L174">61848/a>           href="6code=68fin-t


footerp> The original LXR software by ther_infoLXR communityin-tt this experimcohal L105ion by _infolxr@ ux.noin-t.
subfooterp> lxr. ux.no kindly hosted by _infoRedpill L pro Aeo/bfinpro id=r of L ux consultest and propations serrclas since 1995.