static int adf_device_init(struct adf_pdata *pdata, struct adf_device *dev) { adf_id_t intf_id; int intf_fd; int err; err = adf_find_simple_post_configuration(dev, &pdata->format, 1, &intf_id, &pdata->eng_id); if (err < 0) return err; err = adf_device_attach(dev, pdata->eng_id, intf_id); if (err < 0 && err != -EALREADY) return err; pdata->intf_fd = adf_interface_open(dev, intf_id, O_RDWR); if (pdata->intf_fd < 0) return pdata->intf_fd; err = adf_interface_init(pdata); if (err < 0) { close(pdata->intf_fd); pdata->intf_fd = -1; } return err; }
virtual void SetUp() { int err = adf_device_open(dev_id, O_RDWR, &dev); ASSERT_GE(err, 0) << "opening ADF device " << dev_id << " failed: " << strerror(-err); err = adf_find_simple_post_configuration(&dev, fmt8888, n_fmt8888, &intf_id, &eng_id); ASSERT_GE(err, 0) << "finding ADF configuration failed: " << strerror(-err); intf = adf_interface_open(&dev, intf_id, O_RDWR); ASSERT_GE(intf, 0) << "opening ADF interface " << dev_id << "." << intf_id << " failed: " << strerror(-intf); eng = adf_overlay_engine_open(&dev, eng_id, O_RDWR); ASSERT_GE(eng, 0) << "opening ADF overlay engine " << dev_id << "." << eng_id << " failed: " << strerror(-eng); }
int MinuiBackendAdf::DeviceInit(adf_device* dev) { adf_id_t intf_id; int err = adf_find_simple_post_configuration(dev, &format, 1, &intf_id, &eng_id); if (err < 0) return err; err = adf_device_attach(dev, eng_id, intf_id); if (err < 0 && err != -EALREADY) return err; intf_fd = adf_interface_open(dev, intf_id, O_RDWR); if (intf_fd < 0) return intf_fd; err = InterfaceInit(); if (err < 0) { close(intf_fd); intf_fd = -1; } return err; }