第二步:将drivers/input/touchscreen/目录下的tsc2007.c驱动保持源码不变,
make menuconfig,将tsc2007编译为模块,其余选项全部取消,重新编译镜像。
第三步:重新启动后,通过cat命令后有设备信息
但是insmod tsc2007.ko驱动打印信息为。
tsc2007_probe
tsc2007 2-0048: missing ti,x-plate-ohms devicetree property.
tsc2007: probe of 2-0048 failed with error -22
查看tsc2007.c驱动源码,原因为*pdata 指针为空,
static int tsc2007_probe(struct i2c_client *client,
const struct i2c_device_id *id)
{
const struct tsc2007_platform_data *pdata = dev_get_platdata(&client->dev);
struct tsc2007 *ts;
struct input_dev *input_dev;
int err;
printk("tsc2007_probe\n");
if (!i2c_check_functionality(client->adapter,
I2C_FUNC_SMBUS_READ_WORD_DATA))
return -EIO;
ts = devm_kzalloc(&client->dev, sizeof(struct tsc2007), GFP_KERNEL);
if (!ts)
return -ENOMEM;
if (pdata)
err = tsc2007_probe_pdev(client, ts, pdata, id);
else
err = tsc2007_probe_dt(client, ts);
if (err)
return err;
1)*pdata 指针为空,是我设备树添加的信息还不够完善吗?还是其它方面我少了那些步骤。
2)硬件连接是没有问题的,因为我在同样的硬件环境下,在系统Android4.4上触摸屏是可以用的。