Commit aadbdeb6 authored by H Hartley Sweeten's avatar H Hartley Sweeten Committed by Greg Kroah-Hartman

Staging: dt3155: remove remaining 32-bit and 8-bit global registers

Remove the remaining global 32-bit and 8-bit i2c registers. Create a
local variable of the correct type where they are needed.
Signed-off-by: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Scott Smedley <ss@aao.gov.au>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 53b4725e
...@@ -140,6 +140,8 @@ static void quick_stop (int minor) ...@@ -140,6 +140,8 @@ static void quick_stop (int minor)
// TODO: scott was here // TODO: scott was here
#if 1 #if 1
INT_CSR_R int_csr_r;
int_csr_r.reg = readl(dt3155_lbase[minor] + INT_CSR); int_csr_r.reg = readl(dt3155_lbase[minor] + INT_CSR);
/* disable interrupts */ /* disable interrupts */
int_csr_r.fld.FLD_END_EVE_EN = 0; int_csr_r.fld.FLD_END_EVE_EN = 0;
...@@ -175,6 +177,10 @@ static void dt3155_isr(int irq, void *dev_id, struct pt_regs *regs) ...@@ -175,6 +177,10 @@ static void dt3155_isr(int irq, void *dev_id, struct pt_regs *regs)
void __iomem *mmio; void __iomem *mmio;
struct dt3155_status *dts; struct dt3155_status *dts;
struct dt3155_fbuffer *fb; struct dt3155_fbuffer *fb;
INT_CSR_R int_csr_r;
CSR1_R csr1_r;
I2C_EVEN_CSR i2c_even_csr;
I2C_ODD_CSR i2c_odd_csr;
/* find out who issued the interrupt */ /* find out who issued the interrupt */
for (index = 0; index < ndevices; index++) { for (index = 0; index < ndevices; index++) {
...@@ -411,35 +417,30 @@ static void dt3155_init_isr(int minor) ...@@ -411,35 +417,30 @@ static void dt3155_init_isr(int minor)
{ {
struct dt3155_status *dts = &dt3155_status[minor]; struct dt3155_status *dts = &dt3155_status[minor];
struct dt3155_fbuffer *fb = &dts->fbuffer; struct dt3155_fbuffer *fb = &dts->fbuffer;
const u32 stride = dts->config.cols;
void __iomem *mmio = dt3155_lbase[minor]; void __iomem *mmio = dt3155_lbase[minor];
u32 dma_addr = fb->frame_info[fb->active_buf].addr;
const u32 stride = dts->config.cols;
CSR1_R csr1_r;
INT_CSR_R int_csr_r;
I2C_CSR2 i2c_csr2;
switch (dts->state & DT3155_STATE_MODE) switch (dts->state & DT3155_STATE_MODE)
{ {
case DT3155_STATE_FLD: case DT3155_STATE_FLD:
{ {
even_dma_start_r = fb->frame_info[fb->active_buf].addr; writel(dma_addr, mmio + EVEN_DMA_START);
even_dma_stride_r = 0; writel(0, mmio + EVEN_DMA_STRIDE);
odd_dma_stride_r = 0; writel(0, mmio + ODD_DMA_STRIDE);
writel(even_dma_start_r, mmio + EVEN_DMA_START);
writel(even_dma_stride_r, mmio + EVEN_DMA_STRIDE);
writel(odd_dma_stride_r, mmio + ODD_DMA_STRIDE);
break; break;
} }
case DT3155_STATE_FRAME: case DT3155_STATE_FRAME:
default: default:
{ {
even_dma_start_r = fb->frame_info[fb->active_buf].addr; writel(dma_addr, mmio + EVEN_DMA_START);
odd_dma_start_r = even_dma_start_r + stride; writel(dma_addr + stride, mmio + ODD_DMA_START);
even_dma_stride_r = stride; writel(stride, mmio + EVEN_DMA_STRIDE);
odd_dma_stride_r = stride; writel(stride, mmio + ODD_DMA_STRIDE);
writel(even_dma_start_r, mmio + EVEN_DMA_START);
writel(odd_dma_start_r, mmio + ODD_DMA_START);
writel(even_dma_stride_r, mmio + EVEN_DMA_STRIDE);
writel(odd_dma_stride_r, mmio + ODD_DMA_STRIDE);
break; break;
} }
} }
...@@ -694,8 +695,7 @@ static int dt3155_open(struct inode* inode, struct file* filep) ...@@ -694,8 +695,7 @@ static int dt3155_open(struct inode* inode, struct file* filep)
dt3155_flush(minor); dt3155_flush(minor);
/* Disable ALL interrupts */ /* Disable ALL interrupts */
int_csr_r.reg = 0; writel(0, dt3155_lbase[minor] + INT_CSR);
writel(int_csr_r.reg, dt3155_lbase[minor] + INT_CSR);
init_waitqueue_head(&(dt3155_read_wait_queue[minor])); init_waitqueue_head(&(dt3155_read_wait_queue[minor]));
...@@ -1027,12 +1027,11 @@ int init_module(void) ...@@ -1027,12 +1027,11 @@ int init_module(void)
} }
/* Disable ALL interrupts */ /* Disable ALL interrupts */
int_csr_r.reg = 0;
for( index = 0; index < ndevices; index++) for( index = 0; index < ndevices; index++)
{ {
dts = &dt3155_status[index]; dts = &dt3155_status[index];
writel(int_csr_r.reg, dt3155_lbase[index] + INT_CSR); writel(0, dt3155_lbase[index] + INT_CSR);
if(dts->device_installed) if(dts->device_installed)
{ {
/* /*
......
...@@ -28,25 +28,6 @@ ...@@ -28,25 +28,6 @@
#include "dt3155_drv.h" #include "dt3155_drv.h"
/****** local copies of board's 32 bit registers ******/
u32 even_dma_start_r; /* bit 0 should always be 0 */
u32 odd_dma_start_r; /* .. */
u32 even_dma_stride_r; /* bits 0&1 should always be 0 */
u32 odd_dma_stride_r; /* .. */
CSR1_R csr1_r;
INT_CSR_R int_csr_r;
IIC_CSR1_R iic_csr1_r;
IIC_CSR2_R iic_csr2_r;
/******** local copies of board's 8 bit I2C registers ******/
I2C_CSR2 i2c_csr2;
I2C_EVEN_CSR i2c_even_csr;
I2C_ODD_CSR i2c_odd_csr;
/* /*
* wait_ibsyclr() * wait_ibsyclr()
* *
...@@ -54,6 +35,8 @@ I2C_ODD_CSR i2c_odd_csr; ...@@ -54,6 +35,8 @@ I2C_ODD_CSR i2c_odd_csr;
*/ */
static int wait_ibsyclr(void __iomem *mmio) static int wait_ibsyclr(void __iomem *mmio)
{ {
IIC_CSR2_R iic_csr2_r;
/* wait 100 microseconds */ /* wait 100 microseconds */
udelay(100L); udelay(100L);
/* __delay(loops_per_sec/10000); */ /* __delay(loops_per_sec/10000); */
...@@ -80,8 +63,9 @@ static int wait_ibsyclr(void __iomem *mmio) ...@@ -80,8 +63,9 @@ static int wait_ibsyclr(void __iomem *mmio)
*/ */
int WriteI2C(void __iomem *mmio, u_short wIregIndex, u8 byVal) int WriteI2C(void __iomem *mmio, u_short wIregIndex, u8 byVal)
{ {
/* read 32 bit IIC_CSR2 register data into union */ IIC_CSR2_R iic_csr2_r;
/* read 32 bit IIC_CSR2 register data into union */
iic_csr2_r.reg = readl(mmio + IIC_CSR2); iic_csr2_r.reg = readl(mmio + IIC_CSR2);
/* for write operation */ /* for write operation */
...@@ -111,6 +95,8 @@ int WriteI2C(void __iomem *mmio, u_short wIregIndex, u8 byVal) ...@@ -111,6 +95,8 @@ int WriteI2C(void __iomem *mmio, u_short wIregIndex, u8 byVal)
*/ */
int ReadI2C(void __iomem *mmio, u_short wIregIndex, u8 *byVal) int ReadI2C(void __iomem *mmio, u_short wIregIndex, u8 *byVal)
{ {
IIC_CSR1_R iic_csr1_r;
IIC_CSR2_R iic_csr2_r;
int writestat; /* status for return */ int writestat; /* status for return */
/* read 32 bit IIC_CSR2 register data into union */ /* read 32 bit IIC_CSR2 register data into union */
......
...@@ -206,22 +206,6 @@ typedef union dma_upper_lmt_tag { ...@@ -206,22 +206,6 @@ typedef union dma_upper_lmt_tag {
} DMA_UPPER_LMT_R; } DMA_UPPER_LMT_R;
/*
* Global declarations of local copies of boards' 32 bit registers
*/
extern u32 even_dma_start_r; /* bit 0 should always be 0 */
extern u32 odd_dma_start_r; /* .. */
extern u32 even_dma_stride_r; /* bits 0&1 should always be 0 */
extern u32 odd_dma_stride_r; /* .. */
extern CSR1_R csr1_r;
extern INT_CSR_R int_csr_r;
extern IIC_CSR1_R iic_csr1_r;
extern IIC_CSR2_R iic_csr2_r;
/***************** 8 bit I2C register globals ***********/ /***************** 8 bit I2C register globals ***********/
#define CSR2 0x010 /* indices of 8-bit I2C mapped reg's*/ #define CSR2 0x010 /* indices of 8-bit I2C mapped reg's*/
#define EVEN_CSR 0x011 #define EVEN_CSR 0x011
...@@ -312,14 +296,6 @@ typedef union i2c_ad_cmd_tag { ...@@ -312,14 +296,6 @@ typedef union i2c_ad_cmd_tag {
} I2C_AD_CMD; } I2C_AD_CMD;
/***** Global declarations of local copies of boards' 8 bit I2C registers ***/
extern I2C_CSR2 i2c_csr2;
extern I2C_EVEN_CSR i2c_even_csr;
extern I2C_ODD_CSR i2c_odd_csr;
/* Functions for Global use */
/* access 8-bit IIC registers */ /* access 8-bit IIC registers */
extern int ReadI2C(void __iomem *mmio, u_short wIregIndex, u8 *byVal); extern int ReadI2C(void __iomem *mmio, u_short wIregIndex, u8 *byVal);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment