input_set_abs_params(hdaps_idev, ABS_X, 
input_set_abs_params(hdaps_idev, ABS_Y, 
static int __init hdaps_init(void){	int ret;	/* Note that DMI_MATCH(...,"ThinkPad T42") will match "ThinkPad T42p" */	struct dmi_system_id hdaps_whitelist[] = {		HDAPS_DMI_MATCH_INVERT("ThinkPad R50p"),		HDAPS_DMI_MATCH_NORMAL("ThinkPad R50"),		HDAPS_DMI_MATCH_NORMAL("ThinkPad R51"),		HDAPS_DMI_MATCH_NORMAL("ThinkPad R52"),		HDAPS_DMI_MATCH_INVERT("ThinkPad T41p"),		HDAPS_DMI_MATCH_NORMAL("ThinkPad T41"),		HDAPS_DMI_MATCH_INVERT("ThinkPad T42p"),		HDAPS_DMI_MATCH_NORMAL("ThinkPad T42"),		HDAPS_DMI_MATCH_NORMAL("ThinkPad T43"),		HDAPS_DMI_MATCH_NORMAL("ThinkPad X40"),		HDAPS_DMI_MATCH_NORMAL("ThinkPad X41 Tablet"),		HDAPS_DMI_MATCH_NORMAL("ThinkPad X41"),		{ .ident = NULL }	};	if (!dmi_check_system(hdaps_whitelist)) {		printk(KERN_WARNING "hdaps: supported laptop not found!\n");		ret = -ENXIO;		goto out;	}	if (!request_region(HDAPS_LOW_PORT, HDAPS_NR_PORTS, "hdaps")) {		ret = -ENXIO;		goto out;	}	ret = platform_driver_register(&hdaps_driver);	if (ret)		goto out_region;	pdev = platform_device_register_simple("hdaps", -1, NULL, 0);	if (IS_ERR(pdev)) {		ret = PTR_ERR(pdev);		goto out_driver;	}	ret = sysfs_create_group(&pdev->dev.kobj, &hdaps_attribute_group);	if (ret)		goto out_device;	hdaps_idev = input_allocate_device();	if (!hdaps_idev) {		ret = -ENOMEM;		goto out_group;	}	/* initial calibrate for the input device */	hdaps_calibrate();	/* initialize the input class */	hdaps_idev->name = "hdaps";	hdaps_idev->cdev.dev = &pdev->dev;	hdaps_idev->evbit[0] = BIT(EV_ABS);	input_set_abs_params(hdaps_idev, ABS_X,			-256, 256, HDAPS_INPUT_FUZZ, HDAPS_INPUT_FLAT);	input_set_abs_params(hdaps_idev, ABS_X,			-256, 256, HDAPS_INPUT_FUZZ, HDAPS_INPUT_FLAT);	input_register_device(hdaps_idev);	/* start up our timer for the input device */	init_timer(&hdaps_timer);	hdaps_timer.function = hdaps_mousedev_poll;	hdaps_timer.expires = jiffies + HDAPS_POLL_PERIOD;	add_timer(&hdaps_timer);	printk(KERN_INFO "hdaps: driver successfully loaded.\n");	return 0;out_group:	sysfs_remove_group(&pdev->dev.kobj, &hdaps_attribute_group);out_device:	platform_device_unregister(pdev);out_driver:	platform_driver_unregister(&hdaps_driver);out_region:	release_region(HDAPS_LOW_PORT, HDAPS_NR_PORTS);out:	printk(KERN_WARNING "hdaps: driver init failed (ret=%d)!\n", ret);	return ret;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/657a19ebb74128ec52f20b7e34705bdeadc59400/hdaps.c/clean/drivers/hwmon/hdaps.c