static int __init i2c_bitvelle_init(void)
{
	printk("i2c-velleman.o: i2c Velleman K8000 adapter module\n");
	if (base==0) {
		/* probe some values */
		base=DEFAULT_BASE;
		bit_velle_data.data=(void*)DEFAULT_BASE;
		if (bit_velle_init()==0) {
			if(i2c_bit_add_bus(&bit_velle_ops) < 0)
				return -ENODEV;
		} else {
			return -ENODEV;
		}
	} else {
		bit_velle_data.data=(void*)base;
		if (bit_velle_init()==0) {
			if(i2c_bit_add_bus(&bit_velle_ops) < 0)
				return -ENODEV;
		} else {
			return -ENODEV;
		}
	}
	printk("i2c-velleman.o: found device at %#x.\n",base);
	return 0;
}
Ejemplo n.º 2
0
int __init  i2c_bitvelle_init(void)
{
	printk(KERN_INFO "i2c-velleman.o: i2c Velleman K8000 adapter module version %s (%s)\n", I2C_VERSION, I2C_DATE);
	if (base==0) {
		/* probe some values */
		base=DEFAULT_BASE;
		bit_velle_data.data=(void*)DEFAULT_BASE;
		if (bit_velle_init()==0) {
			if(i2c_bit_add_bus(&bit_velle_ops) < 0)
				return -ENODEV;
		} else {
			return -ENODEV;
		}
	} else {
		bit_velle_data.data=(void*)base;
		if (bit_velle_init()==0) {
			if(i2c_bit_add_bus(&bit_velle_ops) < 0)
				return -ENODEV;
		} else {
			return -ENODEV;
		}
	}
	printk(KERN_DEBUG "i2c-velleman.o: found device at %#x.\n",base);
	return 0;
}