kopia lustrzana https://gitlab.com/sane-project/backends
genesys: Return errors as exceptions from *init_gpio()
rodzic
8e9253e301
commit
67ecc10b81
|
@ -3002,11 +3002,9 @@ gl124_init_regs_for_warmup (Genesys_Device * dev,
|
|||
* @param dev device to set up
|
||||
* @return SANE_STATUS_GOOD unless a GPIO register cannot be written
|
||||
*/
|
||||
static SANE_Status
|
||||
gl124_init_gpio (Genesys_Device * dev)
|
||||
static void gl124_init_gpio(Genesys_Device* dev)
|
||||
{
|
||||
DBG_HELPER(dbg);
|
||||
SANE_Status status = SANE_STATUS_GOOD;
|
||||
int idx;
|
||||
|
||||
/* per model GPIO layout */
|
||||
|
@ -3030,8 +3028,6 @@ gl124_init_gpio (Genesys_Device * dev)
|
|||
sanei_genesys_write_register(dev, REG35, gpios[idx].r35);
|
||||
sanei_genesys_write_register(dev, REG36, gpios[idx].r36);
|
||||
sanei_genesys_write_register(dev, REG38, gpios[idx].r38);
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -3171,8 +3167,8 @@ gl124_boot (Genesys_Device * dev, SANE_Bool cold)
|
|||
SETREG (0x08, REG08_CIS_LINE);
|
||||
sanei_genesys_write_register(dev, 0x08, dev->reg.find_reg(0x08).value);
|
||||
|
||||
/* setup gpio */
|
||||
RIE (gl124_init_gpio (dev));
|
||||
// setup gpio
|
||||
gl124_init_gpio(dev);
|
||||
|
||||
/* setup internal memory layout */
|
||||
RIE (gl124_init_memory_layout (dev));
|
||||
|
|
|
@ -3594,11 +3594,9 @@ WRITE GPOE[17-21]= GPOE21 GPOE20 GPOE19 GPOE18
|
|||
genesys_write_register(0xa8,0x3e)
|
||||
GPIO(0xa8)=0x3e
|
||||
*/
|
||||
static SANE_Status
|
||||
gl843_init_gpio (Genesys_Device * dev)
|
||||
static void gl843_init_gpio(Genesys_Device* dev)
|
||||
{
|
||||
DBG_HELPER(dbg);
|
||||
SANE_Status status = SANE_STATUS_GOOD;
|
||||
int idx;
|
||||
|
||||
sanei_genesys_write_register(dev, REG6E, dev->gpo.enable[0]);
|
||||
|
@ -3619,10 +3617,8 @@ gl843_init_gpio (Genesys_Device * dev)
|
|||
}
|
||||
else
|
||||
{
|
||||
status=SANE_STATUS_INVAL;
|
||||
throw SaneException("Unknown gpo type %d", dev->model->gpo_type);
|
||||
}
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
|
||||
|
@ -3633,7 +3629,6 @@ static SANE_Status
|
|||
gl843_boot (Genesys_Device * dev, SANE_Bool cold)
|
||||
{
|
||||
DBG_HELPER(dbg);
|
||||
SANE_Status status = SANE_STATUS_GOOD;
|
||||
uint8_t val;
|
||||
|
||||
if (cold) {
|
||||
|
@ -3714,8 +3709,8 @@ gl843_boot (Genesys_Device * dev, SANE_Bool cold)
|
|||
sanei_genesys_write_register(dev, REG2A, 0x00);
|
||||
sanei_genesys_write_register(dev, REG2B, 0x00);
|
||||
|
||||
/* setup gpio */
|
||||
RIE (gl843_init_gpio (dev));
|
||||
// setup gpio
|
||||
gl843_init_gpio(dev);
|
||||
|
||||
gl843_feed (dev, 300);
|
||||
sanei_genesys_sleep_ms(100);
|
||||
|
|
|
@ -2268,11 +2268,9 @@ gl846_led_calibration (Genesys_Device * dev, Genesys_Sensor& sensor, Genesys_Reg
|
|||
/**
|
||||
* set up GPIO/GPOE for idle state
|
||||
*/
|
||||
static SANE_Status
|
||||
gl846_init_gpio (Genesys_Device * dev)
|
||||
static void gl846_init_gpio(Genesys_Device* dev)
|
||||
{
|
||||
DBG_HELPER(dbg);
|
||||
SANE_Status status = SANE_STATUS_GOOD;
|
||||
int idx=0;
|
||||
|
||||
/* search GPIO profile */
|
||||
|
@ -2282,9 +2280,7 @@ gl846_init_gpio (Genesys_Device * dev)
|
|||
}
|
||||
if(gpios[idx].sensor_id==0)
|
||||
{
|
||||
DBG(DBG_error, "%s: failed to find GPIO profile for sensor_id=%d\n", __func__,
|
||||
dev->model->ccd_type);
|
||||
return SANE_STATUS_INVAL;
|
||||
throw SaneException("failed to find GPIO profile for sensor_id=%d", dev->model->ccd_type);
|
||||
}
|
||||
|
||||
sanei_genesys_write_register(dev, REGA7, gpios[idx].ra7);
|
||||
|
@ -2298,8 +2294,6 @@ gl846_init_gpio (Genesys_Device * dev)
|
|||
|
||||
sanei_genesys_write_register(dev, REGA8, gpios[idx].ra8);
|
||||
sanei_genesys_write_register(dev, REGA9, gpios[idx].ra9);
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -2399,8 +2393,8 @@ gl846_boot (Genesys_Device * dev, SANE_Bool cold)
|
|||
sanei_genesys_write_0x8c(dev, 0x10, 0x0e);
|
||||
sanei_genesys_write_0x8c(dev, 0x13, 0x0e);
|
||||
|
||||
/* setup gpio */
|
||||
RIE (gl846_init_gpio (dev));
|
||||
// setup gpio
|
||||
gl846_init_gpio(dev);
|
||||
|
||||
/* setup internal memory layout */
|
||||
RIE (gl846_init_memory_layout (dev));
|
||||
|
|
|
@ -2323,8 +2323,7 @@ gl847_led_calibration (Genesys_Device * dev, Genesys_Sensor& sensor, Genesys_Reg
|
|||
/**
|
||||
* set up GPIO/GPOE for idle state
|
||||
*/
|
||||
static SANE_Status
|
||||
gl847_init_gpio (Genesys_Device * dev)
|
||||
static void gl847_init_gpio(Genesys_Device* dev)
|
||||
{
|
||||
DBG_HELPER(dbg);
|
||||
int idx=0;
|
||||
|
@ -2336,9 +2335,7 @@ gl847_init_gpio (Genesys_Device * dev)
|
|||
}
|
||||
if(gpios[idx].sensor_id==0)
|
||||
{
|
||||
DBG(DBG_error, "%s: failed to find GPIO profile for sensor_id=%d\n", __func__,
|
||||
dev->model->ccd_type);
|
||||
return SANE_STATUS_INVAL;
|
||||
throw SaneException("failed to find GPIO profile for sensor_id=%d", dev->model->ccd_type);
|
||||
}
|
||||
|
||||
sanei_genesys_write_register(dev, REGA7, gpios[idx].ra7);
|
||||
|
@ -2355,8 +2352,6 @@ gl847_init_gpio (Genesys_Device * dev)
|
|||
|
||||
sanei_genesys_write_register(dev, REGA8, gpios[idx].ra8);
|
||||
sanei_genesys_write_register(dev, REGA9, gpios[idx].ra9);
|
||||
|
||||
return SANE_STATUS_GOOD;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -2453,7 +2448,6 @@ static SANE_Status
|
|||
gl847_boot (Genesys_Device * dev, SANE_Bool cold)
|
||||
{
|
||||
DBG_HELPER(dbg);
|
||||
SANE_Status status = SANE_STATUS_GOOD;
|
||||
uint8_t val;
|
||||
|
||||
// reset ASIC if cold boot
|
||||
|
@ -2489,11 +2483,11 @@ gl847_boot (Genesys_Device * dev, SANE_Bool cold)
|
|||
sanei_genesys_write_0x8c(dev, 0x10, 0x0b);
|
||||
sanei_genesys_write_0x8c(dev, 0x13, 0x0e);
|
||||
|
||||
/* setup gpio */
|
||||
RIE (gl847_init_gpio (dev));
|
||||
// setup gpio
|
||||
gl847_init_gpio(dev);
|
||||
|
||||
/* setup internal memory layout */
|
||||
RIE (gl847_init_memory_layout (dev));
|
||||
// setup internal memory layout
|
||||
gl847_init_memory_layout (dev);
|
||||
|
||||
SETREG (0xf8, 0x01);
|
||||
sanei_genesys_write_register(dev, 0xf8, dev->reg.find_reg(0xf8).value);
|
||||
|
|
Ładowanie…
Reference in New Issue