• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ d_to_priv函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中d_to_priv函数的典型用法代码示例。如果您正苦于以下问题:C++ d_to_priv函数的具体用法?C++ d_to_priv怎么用?C++ d_to_priv使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了d_to_priv函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: az6007_ci_slot_ts_enable

static int az6007_ci_slot_ts_enable(struct dvb_ca_en50221 *ca, int slot)
{
	struct dvb_usb_device *d = (struct dvb_usb_device *)ca->data;
	struct az6007_device_state *state = d_to_priv(d);

	int ret;
	u8 req;
	u16 value;
	u16 index;
	int blen;

	pr_debug("%s()\n", __func__);
	mutex_lock(&state->ca_mutex);
	req = 0xC7;
	value = 1;
	index = 0;
	blen = 0;

	ret = az6007_write(d, req, value, index, NULL, blen);
	if (ret != 0) {
		pr_warn("usb out operation failed. (%d)\n", ret);
		goto failed;
	}

failed:
	mutex_unlock(&state->ca_mutex);
	return ret;
}
开发者ID:03199618,项目名称:linux,代码行数:28,代码来源:az6007.c


示例2: az6007_ci_write_cam_control

static int az6007_ci_write_cam_control(struct dvb_ca_en50221 *ca,
				       int slot,
				       u8 address,
				       u8 value)
{
	struct dvb_usb_device *d = (struct dvb_usb_device *)ca->data;
	struct az6007_device_state *state = d_to_priv(d);

	int ret;
	u8 req;
	u16 value1;
	u16 index;
	int blen;

	if (slot != 0)
		return -EINVAL;

	mutex_lock(&state->ca_mutex);
	req = 0xC4;
	value1 = address;
	index = value;
	blen = 0;

	ret = az6007_write(d, req, value1, index, NULL, blen);
	if (ret != 0) {
		pr_warn("usb out operation failed. (%d)\n", ret);
		goto failed;
	}

failed:
	mutex_unlock(&state->ca_mutex);
	return ret;
}
开发者ID:03199618,项目名称:linux,代码行数:33,代码来源:az6007.c


示例3: az6007_ci_write_attribute_mem

static int az6007_ci_write_attribute_mem(struct dvb_ca_en50221 *ca,
					 int slot,
					 int address,
					 u8 value)
{
	struct dvb_usb_device *d = (struct dvb_usb_device *)ca->data;
	struct az6007_device_state *state = d_to_priv(d);

	int ret;
	u8 req;
	u16 value1;
	u16 index;
	int blen;

	pr_debug("%s(), slot %d\n", __func__, slot);
	if (slot != 0)
		return -EINVAL;

	mutex_lock(&state->ca_mutex);
	req = 0xC2;
	value1 = address;
	index = value;
	blen = 0;

	ret = az6007_write(d, req, value1, index, NULL, blen);
	if (ret != 0)
		pr_warn("usb out operation failed. (%d)\n", ret);

	mutex_unlock(&state->ca_mutex);
	return ret;
}
开发者ID:03199618,项目名称:linux,代码行数:31,代码来源:az6007.c


示例4: af9015_eeprom_hash

/* hash (and dump) eeprom */
static int af9015_eeprom_hash(struct dvb_usb_device *d)
{
    struct af9015_state *state = d_to_priv(d);
    int ret, i;
    u8 buf[AF9015_EEPROM_SIZE];
    struct req_t req = {READ_I2C, AF9015_I2C_EEPROM, 0, 0, 1, 1, NULL};

    /* read eeprom */
    for (i = 0; i < AF9015_EEPROM_SIZE; i++) {
        req.addr = i;
        req.data = &buf[i];
        ret = af9015_ctrl_msg(d, &req);
        if (ret < 0)
            goto err;
    }

    /* calculate checksum */
    for (i = 0; i < AF9015_EEPROM_SIZE / sizeof(u32); i++) {
        state->eeprom_sum *= GOLDEN_RATIO_PRIME_32;
        state->eeprom_sum += le32_to_cpu(((__le32 *)buf)[i]);
    }

    for (i = 0; i < AF9015_EEPROM_SIZE; i += 16)
        dev_dbg(&d->udev->dev, "%s: %*ph\n", __func__, 16, buf + i);

    dev_dbg(&d->udev->dev, "%s: eeprom sum=%.8x\n",
            __func__, state->eeprom_sum);
    return 0;
err:
    dev_err(&d->udev->dev, "%s: eeprom failed=%d\n", KBUILD_MODNAME, ret);
    return ret;
}
开发者ID:ChineseDr,项目名称:linux,代码行数:33,代码来源:af9015.c


示例5: az6007_rc_query

/* remote control stuff (does not work with my box) */
static int az6007_rc_query(struct dvb_usb_device *d)
{
	struct az6007_device_state *st = d_to_priv(d);
	unsigned code;

	az6007_read(d, AZ6007_READ_IR, 0, 0, st->data, 10);

	if (st->data[1] == 0x44)
		return 0;

	if ((st->data[3] ^ st->data[4]) == 0xff) {
		if ((st->data[1] ^ st->data[2]) == 0xff)
			code = RC_SCANCODE_NEC(st->data[1], st->data[3]);
		else
			code = RC_SCANCODE_NECX(st->data[1] << 8 | st->data[2],
						st->data[3]);
	} else {
		code = RC_SCANCODE_NEC32(st->data[1] << 24 |
					 st->data[2] << 16 |
					 st->data[3] << 8  |
					 st->data[4]);
	}

	rc_keydown(d->rc_dev, RC_TYPE_NEC, code, st->data[5]);

	return 0;
}
开发者ID:EvolutionMod,项目名称:ath10-lenovo,代码行数:28,代码来源:az6007.c


示例6: mxl111sf_init

static int mxl111sf_init(struct dvb_usb_device *d)
{
	struct mxl111sf_state *state = d_to_priv(d);
	int ret;
	static u8 eeprom[256];
	u8 reg = 0;
	struct i2c_msg msg[2] = {
		{ .addr = 0xa0 >> 1, .len = 1, .buf = &reg },
		{ .addr = 0xa0 >> 1, .flags = I2C_M_RD,
开发者ID:AlexShiLucky,项目名称:linux,代码行数:9,代码来源:mxl111sf.c


示例7: mxl111sf_attach_demod

static int mxl111sf_attach_demod(struct dvb_usb_adapter *adap, u8 fe_id)
{
	struct dvb_usb_device *d = adap_to_d(adap);
	struct mxl111sf_state *state = d_to_priv(d);
	struct mxl111sf_adap_state *adap_state = &state->adap_state[fe_id];
	int ret;

	deb_adv("%s()\n", __func__);

	/* save a pointer to the dvb_usb_device in device state */
	state->d = d;
	adap_state->alt_mode = (dvb_usb_mxl111sf_isoc) ? 1 : 2;
	state->alt_mode = adap_state->alt_mode;

	if (usb_set_interface(d->udev, 0, state->alt_mode) < 0)
		err("set interface failed");

	state->gpio_mode = MXL111SF_GPIO_MOD_DVBT;
	adap_state->gpio_mode = state->gpio_mode;
	adap_state->device_mode = MXL_SOC_MODE;
	adap_state->ep6_clockphase = 1;

	ret = mxl1x1sf_soft_reset(state);
	if (mxl_fail(ret))
		goto fail;
	ret = mxl111sf_init_tuner_demod(state);
	if (mxl_fail(ret))
		goto fail;

	ret = mxl1x1sf_set_device_mode(state, adap_state->device_mode);
	if (mxl_fail(ret))
		goto fail;

	ret = mxl111sf_enable_usb_output(state);
	if (mxl_fail(ret))
		goto fail;
	ret = mxl1x1sf_top_master_ctrl(state, 1);
	if (mxl_fail(ret))
		goto fail;

	/* dont care if this fails */
	mxl111sf_init_port_expander(state);

	adap->fe[fe_id] = dvb_attach(mxl111sf_demod_attach, state,
			      &mxl_demod_config);
	if (adap->fe[fe_id]) {
		state->num_frontends++;
		adap_state->fe_init = adap->fe[fe_id]->ops.init;
		adap->fe[fe_id]->ops.init = mxl111sf_adap_fe_init;
		adap_state->fe_sleep = adap->fe[fe_id]->ops.sleep;
		adap->fe[fe_id]->ops.sleep = mxl111sf_adap_fe_sleep;
		return 0;
	}
	ret = -EIO;
fail:
	return ret;
}
开发者ID:AICP,项目名称:kernel_moto_shamu,代码行数:57,代码来源:mxl111sf.c


示例8: rtl2832u_frontend_attach

static int rtl2832u_frontend_attach(struct dvb_usb_adapter *adap)
{
	int ret;
	struct dvb_usb_device *d = adap_to_d(adap);
	struct rtl28xxu_priv *priv = d_to_priv(d);
	const struct rtl2832_config *rtl2832_config;

	dev_dbg(&d->udev->dev, "%s:\n", __func__);

	switch (priv->tuner) {
	case TUNER_RTL2832_FC0012:
		rtl2832_config = &rtl28xxu_rtl2832_fc0012_config;
		break;
	case TUNER_RTL2832_FC0013:
		rtl2832_config = &rtl28xxu_rtl2832_fc0013_config;
		break;
	case TUNER_RTL2832_FC2580:
		/* FIXME: do not abuse fc0012 settings */
		rtl2832_config = &rtl28xxu_rtl2832_fc0012_config;
		break;
	case TUNER_RTL2832_TUA9001:
		rtl2832_config = &rtl28xxu_rtl2832_tua9001_config;
		break;
	case TUNER_RTL2832_E4000:
		rtl2832_config = &rtl28xxu_rtl2832_e4000_config;
		break;
	case TUNER_RTL2832_R820T:
	case TUNER_RTL2832_R828D:
		rtl2832_config = &rtl28xxu_rtl2832_r820t_config;
		break;
	default:
		dev_err(&d->udev->dev, "%s: unknown tuner=%s\n",
				KBUILD_MODNAME, priv->tuner_name);
		ret = -ENODEV;
		goto err;
	}

	/* attach demodulator */
	adap->fe[0] = dvb_attach(rtl2832_attach, rtl2832_config, &d->i2c_adap);
	if (!adap->fe[0]) {
		ret = -ENODEV;
		goto err;
	}

	/* RTL2832 I2C repeater */
	priv->demod_i2c_adapter = rtl2832_get_i2c_adapter(adap->fe[0]);

	/* set fe callback */
	adap->fe[0]->callback = rtl2832u_frontend_callback;

	return 0;
err:
	dev_dbg(&d->udev->dev, "%s: failed=%d\n", __func__, ret);
	return ret;
}
开发者ID:royceniu,项目名称:RP2_MPTCP,代码行数:55,代码来源:rtl28xxu.c


示例9: af9015_read_reg_i2c

static int af9015_read_reg_i2c(struct dvb_usb_device *d, u8 addr, u16 reg,
                               u8 *val)
{
    struct af9015_state *state = d_to_priv(d);
    struct req_t req = {READ_I2C, addr, reg, 0, 1, 1, val};

    if (addr == state->af9013_config[0].i2c_addr ||
            addr == state->af9013_config[1].i2c_addr)
        req.addr_len = 3;

    return af9015_ctrl_msg(d, &req);
}
开发者ID:ChineseDr,项目名称:linux,代码行数:12,代码来源:af9015.c


示例10: az6007_power_ctrl

static int az6007_power_ctrl(struct dvb_usb_device *d, int onoff)
{
	struct az6007_device_state *state = d_to_priv(d);
	int ret;

	pr_debug("%s()\n", __func__);

	if (!state->warm) {
		mutex_init(&state->mutex);

		ret = az6007_write(d, AZ6007_POWER, 0, 2, NULL, 0);
		if (ret < 0)
			return ret;
		msleep(60);
		ret = az6007_write(d, AZ6007_POWER, 1, 4, NULL, 0);
		if (ret < 0)
			return ret;
		msleep(100);
		ret = az6007_write(d, AZ6007_POWER, 1, 3, NULL, 0);
		if (ret < 0)
			return ret;
		msleep(20);
		ret = az6007_write(d, AZ6007_POWER, 1, 4, NULL, 0);
		if (ret < 0)
			return ret;

		msleep(400);
		ret = az6007_write(d, FX2_SCON1, 0, 3, NULL, 0);
		if (ret < 0)
			return ret;
		msleep(150);
		ret = az6007_write(d, FX2_SCON1, 1, 3, NULL, 0);
		if (ret < 0)
			return ret;
		msleep(430);
		ret = az6007_write(d, AZ6007_POWER, 0, 0, NULL, 0);
		if (ret < 0)
			return ret;

		state->warm = true;

		return 0;
	}

	if (!onoff)
		return 0;

	az6007_write(d, AZ6007_POWER, 0, 0, NULL, 0);
	az6007_write(d, AZ6007_TS_THROUGH, 0, 0, NULL, 0);

	return 0;
}
开发者ID:03199618,项目名称:linux,代码行数:52,代码来源:az6007.c


示例11: az6007_ci_slot_reset

static int az6007_ci_slot_reset(struct dvb_ca_en50221 *ca, int slot)
{
	struct dvb_usb_device *d = (struct dvb_usb_device *)ca->data;
	struct az6007_device_state *state = d_to_priv(d);

	int ret, i;
	u8 req;
	u16 value;
	u16 index;
	int blen;

	mutex_lock(&state->ca_mutex);

	req = 0xC6;
	value = 1;
	index = 0;
	blen = 0;

	ret = az6007_write(d, req, value, index, NULL, blen);
	if (ret != 0) {
		pr_warn("usb out operation failed. (%d)\n", ret);
		goto failed;
	}

	msleep(500);
	req = 0xC6;
	value = 0;
	index = 0;
	blen = 0;

	ret = az6007_write(d, req, value, index, NULL, blen);
	if (ret != 0) {
		pr_warn("usb out operation failed. (%d)\n", ret);
		goto failed;
	}

	for (i = 0; i < 15; i++) {
		msleep(100);

		if (CI_CamReady(ca, slot)) {
			pr_debug("CAM Ready\n");
			break;
		}
	}
	msleep(5000);

failed:
	mutex_unlock(&state->ca_mutex);
	return ret;
}
开发者ID:03199618,项目名称:linux,代码行数:50,代码来源:az6007.c


示例12: af9015_download_firmware

static int af9015_download_firmware(struct dvb_usb_device *d,
                                    const struct firmware *fw)
{
    struct af9015_state *state = d_to_priv(d);
    int i, len, remaining, ret;
    struct req_t req = {DOWNLOAD_FIRMWARE, 0, 0, 0, 0, 0, NULL};
    u16 checksum = 0;
    dev_dbg(&d->udev->dev, "%s:\n", __func__);

    /* calc checksum */
    for (i = 0; i < fw->size; i++)
        checksum += fw->data[i];

    state->firmware_size = fw->size;
    state->firmware_checksum = checksum;

#define FW_ADDR 0x5100 /* firmware start address */
#define LEN_MAX 55 /* max packet size */
    for (remaining = fw->size; remaining > 0; remaining -= LEN_MAX) {
        len = remaining;
        if (len > LEN_MAX)
            len = LEN_MAX;

        req.data_len = len;
        req.data = (u8 *) &fw->data[fw->size - remaining];
        req.addr = FW_ADDR + fw->size - remaining;

        ret = af9015_ctrl_msg(d, &req);
        if (ret) {
            dev_err(&d->udev->dev,
                    "%s: firmware download failed=%d\n",
                    KBUILD_MODNAME, ret);
            goto error;
        }
    }

    /* firmware loaded, request boot */
    req.cmd = BOOT;
    req.data_len = 0;
    ret = af9015_ctrl_msg(d, &req);
    if (ret) {
        dev_err(&d->udev->dev, "%s: firmware boot failed=%d\n",
                KBUILD_MODNAME, ret);
        goto error;
    }

error:
    return ret;
}
开发者ID:ChineseDr,项目名称:linux,代码行数:49,代码来源:af9015.c


示例13: dvbsky_stream_ctrl

static int dvbsky_stream_ctrl(struct dvb_usb_device *d, u8 onoff)
{
	struct dvbsky_state *state = d_to_priv(d);
	int ret;
	u8 obuf_pre[3] = { 0x37, 0, 0 };
	u8 obuf_post[3] = { 0x36, 3, 0 };

	mutex_lock(&state->stream_mutex);
	ret = dvbsky_usb_generic_rw(d, obuf_pre, 3, NULL, 0);
	if (!ret && onoff) {
		msleep(20);
		ret = dvbsky_usb_generic_rw(d, obuf_post, 3, NULL, 0);
	}
	mutex_unlock(&state->stream_mutex);
	return ret;
}
开发者ID:wejgomi,项目名称:nexus-player,代码行数:16,代码来源:dvbsky.c


示例14: af9015_get_rc_config

static int af9015_get_rc_config(struct dvb_usb_device *d, struct dvb_usb_rc *rc)
{
    struct af9015_state *state = d_to_priv(d);
    u16 vid = le16_to_cpu(d->udev->descriptor.idVendor);

    if (state->ir_mode == AF9015_IR_MODE_DISABLED)
        return 0;

    /* try to load remote based module param */
    if (!rc->map_name)
        rc->map_name = af9015_rc_setup_match(dvb_usb_af9015_remote,
                                             af9015_rc_setup_modparam);

    /* try to load remote based eeprom hash */
    if (!rc->map_name)
        rc->map_name = af9015_rc_setup_match(state->eeprom_sum,
                                             af9015_rc_setup_hashes);

    /* try to load remote based USB iManufacturer string */
    if (!rc->map_name && vid == USB_VID_AFATECH) {
        /* Check USB manufacturer and product strings and try
           to determine correct remote in case of chip vendor
           reference IDs are used.
           DO NOT ADD ANYTHING NEW HERE. Use hashes instead. */
        char manufacturer[10];
        memset(manufacturer, 0, sizeof(manufacturer));
        usb_string(d->udev, d->udev->descriptor.iManufacturer,
                   manufacturer, sizeof(manufacturer));
        if (!strcmp("MSI", manufacturer)) {
            /* iManufacturer 1 MSI
               iProduct      2 MSI K-VOX */
            rc->map_name = af9015_rc_setup_match(
                               AF9015_REMOTE_MSI_DIGIVOX_MINI_II_V3,
                               af9015_rc_setup_modparam);
        }
    }

    /* load empty to enable rc */
    if (!rc->map_name)
        rc->map_name = RC_MAP_EMPTY;

    rc->allowed_protos = RC_BIT_NEC;
    rc->query = af9015_rc_query;
    rc->interval = 500;

    return 0;
}
开发者ID:ChineseDr,项目名称:linux,代码行数:47,代码来源:af9015.c


示例15: az6007_ci_read_cam_control

static int az6007_ci_read_cam_control(struct dvb_ca_en50221 *ca,
				      int slot,
				      u8 address)
{
	struct dvb_usb_device *d = (struct dvb_usb_device *)ca->data;
	struct az6007_device_state *state = d_to_priv(d);

	int ret;
	u8 req;
	u16 value;
	u16 index;
	int blen;
	u8 *b;

	if (slot != 0)
		return -EINVAL;

	b = kmalloc(12, GFP_KERNEL);
	if (!b)
		return -ENOMEM;

	mutex_lock(&state->ca_mutex);

	req = 0xC3;
	value = address;
	index = 0;
	blen = 2;

	ret = az6007_read(d, req, value, index, b, blen);
	if (ret < 0) {
		pr_warn("usb in operation failed. (%d)\n", ret);
		ret = -EINVAL;
	} else {
		if (b[0] == 0)
			pr_warn("Read CI IO error\n");

		ret = b[1];
		pr_debug("read cam data = %x from 0x%x\n", b[1], value);
	}

	mutex_unlock(&state->ca_mutex);
	kfree(b);
	return ret;
}
开发者ID:03199618,项目名称:linux,代码行数:44,代码来源:az6007.c


示例16: dvbsky_usb_generic_rw

static int dvbsky_usb_generic_rw(struct dvb_usb_device *d,
		u8 *wbuf, u16 wlen, u8 *rbuf, u16 rlen)
{
	int ret;
	struct dvbsky_state *state = d_to_priv(d);

	mutex_lock(&d->usb_mutex);
	if (wlen != 0)
		memcpy(state->obuf, wbuf, wlen);

	ret = dvb_usbv2_generic_rw_locked(d, state->obuf, wlen,
			state->ibuf, rlen);

	if (!ret && (rlen != 0))
		memcpy(rbuf, state->ibuf, rlen);

	mutex_unlock(&d->usb_mutex);
	return ret;
}
开发者ID:wejgomi,项目名称:nexus-player,代码行数:19,代码来源:dvbsky.c


示例17: rtl2831u_tuner_attach

static int rtl2831u_tuner_attach(struct dvb_usb_adapter *adap)
{
	int ret;
	struct dvb_usb_device *d = adap_to_d(adap);
	struct rtl28xxu_priv *priv = d_to_priv(d);
	struct i2c_adapter *rtl2830_tuner_i2c;
	struct dvb_frontend *fe;

	dev_dbg(&d->udev->dev, "%s:\n", __func__);

	/* use rtl2830 driver I2C adapter, for more info see rtl2830 driver */
	rtl2830_tuner_i2c = rtl2830_get_tuner_i2c_adapter(adap->fe[0]);

	switch (priv->tuner) {
	case TUNER_RTL2830_QT1010:
		fe = dvb_attach(qt1010_attach, adap->fe[0],
				rtl2830_tuner_i2c, &rtl28xxu_qt1010_config);
		break;
	case TUNER_RTL2830_MT2060:
		fe = dvb_attach(mt2060_attach, adap->fe[0],
				rtl2830_tuner_i2c, &rtl28xxu_mt2060_config,
				1220);
		break;
	case TUNER_RTL2830_MXL5005S:
		fe = dvb_attach(mxl5005s_attach, adap->fe[0],
				rtl2830_tuner_i2c, &rtl28xxu_mxl5005s_config);
		break;
	default:
		fe = NULL;
		dev_err(&d->udev->dev, "%s: unknown tuner=%d\n", KBUILD_MODNAME,
				priv->tuner);
	}

	if (fe == NULL) {
		ret = -ENODEV;
		goto err;
	}

	return 0;
err:
	dev_dbg(&d->udev->dev, "%s: failed=%d\n", __func__, ret);
	return ret;
}
开发者ID:rofehr,项目名称:linux-wetek,代码行数:43,代码来源:rtl28xxu.c


示例18: af9015_init

static int af9015_init(struct dvb_usb_device *d)
{
    struct af9015_state *state = d_to_priv(d);
    int ret;
    dev_dbg(&d->udev->dev, "%s:\n", __func__);

    mutex_init(&state->fe_mutex);

    /* init RC canary */
    ret = af9015_write_reg(d, 0x98e9, 0xff);
    if (ret)
        goto error;

    ret = af9015_init_endpoint(d);
    if (ret)
        goto error;

error:
    return ret;
}
开发者ID:ChineseDr,项目名称:linux,代码行数:20,代码来源:af9015.c


示例19: az6007_ci_uninit

static void az6007_ci_uninit(struct dvb_usb_device *d)
{
	struct az6007_device_state *state;

	pr_debug("%s()\n", __func__);

	if (NULL == d)
		return;

	state = d_to_priv(d);
	if (NULL == state)
		return;

	if (NULL == state->ca.data)
		return;

	dvb_ca_en50221_release(&state->ca);

	memset(&state->ca, 0, sizeof(state->ca));
}
开发者ID:03199618,项目名称:linux,代码行数:20,代码来源:az6007.c


示例20: az6007_ci_read_attribute_mem

static int az6007_ci_read_attribute_mem(struct dvb_ca_en50221 *ca,
					int slot,
					int address)
{
	struct dvb_usb_device *d = (struct dvb_usb_device *)ca->data;
	struct az6007_device_state *state = d_to_priv(d);

	int ret;
	u8 req;
	u16 value;
	u16 index;
	int blen;
	u8 *b;

	if (slot != 0)
		return -EINVAL;

	b = kmalloc(12, GFP_KERNEL);
	if (!b)
		return -ENOMEM;

	mutex_lock(&state->ca_mutex);

	req = 0xC1;
	value = address;
	index = 0;
	blen = 1;

	ret = az6007_read(d, req, value, index, b, blen);
	if (ret < 0) {
		pr_warn("usb in operation failed. (%d)\n", ret);
		ret = -EINVAL;
	} else {
		ret = b[0];
	}

	mutex_unlock(&state->ca_mutex);
	kfree(b);
	return ret;
}
开发者ID:03199618,项目名称:linux,代码行数:40,代码来源:az6007.c



注:本文中的d_to_priv函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ d_unhashed函数代码示例发布时间:2022-05-30
下一篇:
C++ d_splice_alias函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap