genesys: Return errors as exceptions from *init_cmd_set()

merge-requests/101/head
Povilas Kanapickas 2019-07-14 23:40:57 +03:00
rodzic d29f6862c6
commit 4303877059
9 zmienionych plików z 24 dodań i 50 usunięć

Wyświetl plik

@ -6256,11 +6256,7 @@ sane_open_impl(SANE_String_Const devicename, SANE_Handle * handle)
RIE (init_options (s));
if (sanei_genesys_init_cmd_set (s->dev) != SANE_STATUS_GOOD)
{
DBG(DBG_error0, "This device doesn't have a valid command set!!\n");
return SANE_STATUS_IO_ERROR;
}
sanei_genesys_init_cmd_set(s->dev);
// FIXME: we create sensor tables for the sensor, this should happen when we know which sensor
// we will select

Wyświetl plik

@ -3425,9 +3425,7 @@ static Genesys_Command_Set gl124_cmd_set = {
gl124_boot
};
SANE_Status
sanei_gl124_init_cmd_set (Genesys_Device * dev)
void sanei_gl124_init_cmd_set(Genesys_Device* dev)
{
dev->model->cmd_set = &gl124_cmd_set;
return SANE_STATUS_GOOD;
}

Wyświetl plik

@ -4506,9 +4506,7 @@ static Genesys_Command_Set gl646_cmd_set = {
NULL
};
SANE_Status
sanei_gl646_init_cmd_set (Genesys_Device * dev)
void sanei_gl646_init_cmd_set(Genesys_Device* dev)
{
dev->model->cmd_set = &gl646_cmd_set;
return SANE_STATUS_GOOD;
}

Wyświetl plik

@ -5172,9 +5172,7 @@ static Genesys_Command_Set gl841_cmd_set = {
NULL
};
SANE_Status
sanei_gl841_init_cmd_set (Genesys_Device * dev)
void sanei_gl841_init_cmd_set(Genesys_Device* dev)
{
dev->model->cmd_set = &gl841_cmd_set;
return SANE_STATUS_GOOD;
}

Wyświetl plik

@ -4338,9 +4338,7 @@ static Genesys_Command_Set gl843_cmd_set = {
gl843_boot
};
SANE_Status
sanei_gl843_init_cmd_set (Genesys_Device * dev)
void sanei_gl843_init_cmd_set(Genesys_Device* dev)
{
dev->model->cmd_set = &gl843_cmd_set;
return SANE_STATUS_GOOD;
}

Wyświetl plik

@ -3223,9 +3223,7 @@ static Genesys_Command_Set gl846_cmd_set = {
gl846_boot
};
SANE_Status
sanei_gl846_init_cmd_set (Genesys_Device * dev)
void sanei_gl846_init_cmd_set(Genesys_Device* dev)
{
dev->model->cmd_set = &gl846_cmd_set;
return SANE_STATUS_GOOD;
}

Wyświetl plik

@ -3329,9 +3329,7 @@ static Genesys_Command_Set gl847_cmd_set = {
gl847_boot
};
SANE_Status
sanei_gl847_init_cmd_set (Genesys_Device * dev)
void sanei_gl847_init_cmd_set(Genesys_Device* dev)
{
dev->model->cmd_set = &gl847_cmd_set;
return SANE_STATUS_GOOD;
}

Wyświetl plik

@ -82,29 +82,19 @@ void Genesys_Device::clear()
/**
* setup the hardware dependent functions
*/
SANE_Status
sanei_genesys_init_cmd_set (Genesys_Device * dev)
void sanei_genesys_init_cmd_set(Genesys_Device* dev)
{
DBG_INIT ();
DBG_HELPER(dbg);
switch (dev->model->asic_type)
{
case GENESYS_GL646:
return sanei_gl646_init_cmd_set (dev);
case GENESYS_GL841:
return sanei_gl841_init_cmd_set (dev);
case GENESYS_GL843:
return sanei_gl843_init_cmd_set (dev);
case GENESYS_GL845: /* since only a few reg bits differs
we handle both together */
case GENESYS_GL846:
return sanei_gl846_init_cmd_set (dev);
case GENESYS_GL847:
return sanei_gl847_init_cmd_set (dev);
case GENESYS_GL124:
return sanei_gl124_init_cmd_set (dev);
default:
return SANE_STATUS_INVAL;
switch (dev->model->asic_type) {
case GENESYS_GL646: sanei_gl646_init_cmd_set(dev); break;
case GENESYS_GL841: sanei_gl841_init_cmd_set(dev); break;
case GENESYS_GL843: sanei_gl843_init_cmd_set(dev); break;
case GENESYS_GL845: // since only a few reg bits differs we handle both together
case GENESYS_GL846: sanei_gl846_init_cmd_set(dev); break;
case GENESYS_GL847: sanei_gl847_init_cmd_set(dev); break;
case GENESYS_GL124: sanei_gl124_init_cmd_set(dev); break;
default: throw SaneException(SANE_STATUS_INVAL, "unknown ASIC type");
}
}

Wyświetl plik

@ -1711,7 +1711,7 @@ inline void sanei_genesys_set_reg_from_set(Genesys_Register_Set* regs, uint16_t
regs->set8(address, value);
}
extern SANE_Status sanei_genesys_init_cmd_set (Genesys_Device * dev);
extern void sanei_genesys_init_cmd_set(Genesys_Device* dev);
extern void sanei_genesys_read_register(Genesys_Device* dev, uint16_t reg, uint8_t* val);
@ -1983,12 +1983,12 @@ extern void sanei_genesys_generate_gamma_buffer(Genesys_Device* dev,
/*---------------------------------------------------------------------------*/
/* ASIC specific functions declarations */
/*---------------------------------------------------------------------------*/
extern SANE_Status sanei_gl646_init_cmd_set (Genesys_Device * dev);
extern SANE_Status sanei_gl841_init_cmd_set (Genesys_Device * dev);
extern SANE_Status sanei_gl843_init_cmd_set (Genesys_Device * dev);
extern SANE_Status sanei_gl846_init_cmd_set (Genesys_Device * dev);
extern SANE_Status sanei_gl847_init_cmd_set (Genesys_Device * dev);
extern SANE_Status sanei_gl124_init_cmd_set (Genesys_Device * dev);
extern void sanei_gl646_init_cmd_set(Genesys_Device* dev);
extern void sanei_gl841_init_cmd_set(Genesys_Device* dev);
extern void sanei_gl843_init_cmd_set(Genesys_Device* dev);
extern void sanei_gl846_init_cmd_set(Genesys_Device* dev);
extern void sanei_gl847_init_cmd_set(Genesys_Device* dev);
extern void sanei_gl124_init_cmd_set(Genesys_Device* dev);
// same as usleep, except that it does nothing if testing mode is enabled
extern void sanei_genesys_usleep(unsigned int useconds);