kopia lustrzana https://gitlab.com/sane-project/backends
				
				
				
			genesys: Return errors as exceptions from *init_cmd_set()
							rodzic
							
								
									d29f6862c6
								
							
						
					
					
						commit
						4303877059
					
				| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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");
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Ładowanie…
	
		Reference in New Issue