genesys: Return errors as exceptions from *init_gpio()

merge-requests/104/head
Povilas Kanapickas 2019-07-20 11:01:51 +03:00
rodzic 8e9253e301
commit 67ecc10b81
4 zmienionych plików z 17 dodań i 38 usunięć

Wyświetl plik

@ -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));

Wyświetl plik

@ -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);

Wyświetl plik

@ -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));

Wyświetl plik

@ -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);