Example #1
0
static int __init da9052_spi_init(void)
{
	int ret;

	ret = spi_register_driver(&da9052_spi_driver);
	if (ret != 0) {
		pr_err("Failed to register DA9052 SPI driver, %d\n", ret);
		return ret;
	}

	return 0;
}
Example #2
0
static int __init ad1836_init(void)
{
	int ret;

	ret = spi_register_driver(&ad1836_spi_driver);
	if (ret != 0) {
		printk(KERN_ERR "Failed to register ad1836 SPI driver: %d\n",
				ret);
	}

	return ret;
}
Example #3
0
static int __init wm831x_spi_init(void)
{
	int ret;

	ret = spi_register_driver(&wm8310_spi_driver);
	if (ret != 0)
		pr_err("Failed to register WM8310 SPI driver: %d\n", ret);

	ret = spi_register_driver(&wm8311_spi_driver);
	if (ret != 0)
		pr_err("Failed to register WM8311 SPI driver: %d\n", ret);

	ret = spi_register_driver(&wm8312_spi_driver);
	if (ret != 0)
		pr_err("Failed to register WM8312 SPI driver: %d\n", ret);

	ret = spi_register_driver(&wm8320_spi_driver);
	if (ret != 0)
		pr_err("Failed to register WM8320 SPI driver: %d\n", ret);

	ret = spi_register_driver(&wm8321_spi_driver);
	if (ret != 0)
		pr_err("Failed to register WM8321 SPI driver: %d\n", ret);

	ret = spi_register_driver(&wm8325_spi_driver);
	if (ret != 0)
		pr_err("Failed to register WM8325 SPI driver: %d\n", ret);

	return 0;
}
Example #4
0
static int __init wm8770_modinit(void)
{
	int ret = 0;

#if defined(CONFIG_SPI_MASTER)
	ret = spi_register_driver(&wm8770_spi_driver);
	if (ret) {
		printk(KERN_ERR "Failed to register wm8770 SPI driver: %d\n",
		       ret);
	}
#endif
	return ret;
}
Example #5
0
static int __init memlcd_spi_init(void)
{
        int ret;

        ret = spi_register_driver(&memlcd_spi_driver);
        if (ret < 0) {
                printk(KERN_ERR "Failed to register memlcdfb-spi driver: %d", ret);
                goto out;
        }

out:
        return ret;
}
Example #6
0
static
int __init s5c73m3_spi_init(void)
{
	int ret;
	pr_err("%s\n", __func__);

	ret = spi_register_driver(&s5c73m3_spi_driver);

	if (ret)
		pr_err("failed to register s5c73mc fw - %x\n", ret);

	return ret;
}
Example #7
0
static int __init p54spi_init(void)
{
	int ret;

	ret = spi_register_driver(&p54spi_driver);
	if (ret < 0) {
		printk(KERN_ERR "failed to register SPI driver: %d", ret);
		goto out;
	}

out:
	return ret;
}
Example #8
0
static int __init wl1271_init(void)
{
	int ret;

	ret = spi_register_driver(&wl1271_spi_driver);
	if (ret < 0) {
		wl1271_error("failed to register spi driver: %d", ret);
		goto out;
	}

out:
	return ret;
}
Example #9
0
//----------------------------------------------------------------------
//sq_spi_download_init
//----------------------------------------------------------------------
int __init sq_spi_download_init(void)
{
    int	err=0,i;
//#if (USE_CDEV == 1)
    dev_t	dev_id;
    int	retval;

    SPI_DOWNLOAD_DBG(" sq_spi_download_init\n");
    err=spi_register_driver(&sq_spi_download_driver);
    if(err)
        printk("sq_spi_download_driver init  fail\n");


    /*
    	err = platform_driver_register(&sq_spi_download_driver);
    	if(err)
    		printk("sq_spi_download_driver init  fail\n");

    */

//#else

    if (major) {
        dev_id = MKDEV(major, 0);
        retval = register_chrdev_region(dev_id, sq_spi_download_COUNT,NAME);
    } else {
        retval = alloc_chrdev_region(&dev_id, 0, sq_spi_download_COUNT,NAME);
        major = MAJOR(dev_id);
    }

    SPI_DOWNLOAD_DBG(":  mask=%#lx major=%d\n", mask, major);

    cdev_init(&sq_spi_download_cdev, &sq_spi_download_fops);
    cdev_add(&sq_spi_download_cdev, dev_id, sq_spi_download_COUNT);


//#endif
    SPI_DOWNLOAD_DBG(" sq_spi_download_init end\n");
    /*
    #define DL_PROGB			(0x01 << 7)
    #define DL_DONE				(0x01 << 6)
    #define DL_RST				(0x01 << 5)
    #define DL_INITB			(0x01 << 4)
    */
    i=10;



    return err;

}
Example #10
0
static int cam12mp_sensor_probe(const struct msm_camera_sensor_info *info,
                                struct msm_sensor_ctrl *s)
{
    s->s_init = cam12mp_sensor_init;
    s->s_release = cam12mp_sensor_release;
    s->s_config  = cam12mp_sensor_config;

    pDlMem = kzalloc((896*1024), GFP_KERNEL);
    LOGI("+%s Dlmem:0x%x\n", __func__,pDlMem);
    if(!pDlMem)
        LOGE(" -%s DlMem kzalloc() Failed!\n",__func__);

    return spi_register_driver(&cam12mp_spi_driver);
}
Example #11
0
int __init serial_m3110_init(void)
{
	int ret = 0;

	ret = uart_register_driver(&serial_m3110_reg);
	if (ret)
		return ret;

	ret = spi_register_driver(&uart_max3110_driver);
	if (ret)
		uart_unregister_driver(&serial_m3110_reg);

	return ret;
}
static int __init msm_eeprom_init_module(void)
{
  int rc = 0, spi_rc = 0;
  CDBG("%s E\n", __func__);
  rc = platform_driver_probe(&msm_eeprom_platform_driver, msm_eeprom_platform_probe);
  CDBG("%s:%d platform rc %d\n", __func__, __LINE__, rc);

  spi_rc = spi_register_driver(&msm_eeprom_spi_driver);
  rc = i2c_add_driver(&msm_eeprom_i2c_driver);

  if (rc < 0 && spi_rc < 0)
    pr_err("%s:%d probe failed\n", __func__, __LINE__);

  return rc;
}
int bp_spi_add_driver(int (*callback)(void))
{
	int status = 0;
	callback_func = callback;
	status = spi_register_driver(&bp_spi_driver);
	if(status == SPI_OK)
	{	
		DEBUGONDISPLAY(MODE_PHY_DEBUG,printk("[SPI] init success\n"));
	}
	else
	{
		printk("[SPI] init fail\n");
	}

	return status;
}
Example #14
0
static int __init adav80x_init(void)
{
	int ret = 0;

#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)
	ret = i2c_add_driver(&adav80x_i2c_driver);
	if (ret)
		return ret;
#endif

#if defined(CONFIG_SPI_MASTER)
	ret = spi_register_driver(&adav80x_spi_driver);
#endif

	return ret;
}
Example #15
0
/*
 * Initialization function which allocates and set different parameters for TTY SPI driver. Registers the tty driver 
 * with TTY core and register SPI driver with the Kernel. It validates the GPIO pins for MRDY and then request an IRQ
 * on SRDY GPIO pin for SRDY signal going HIGH. In case of failure of SPI driver register cases it unregister tty driver
 * from tty core.
 */
static int __init ifx_spi_init(void)
{
	int status = 0;

	/* Allocate and Register a TTY device */
	ifx_spi_tty_driver = alloc_tty_driver(IFX_N_SPI_MINORS);
	if (!ifx_spi_tty_driver)
	{
		IFX_SPI_PRINTK("Fail to allocate TTY Driver");
		return -ENOMEM;
	}

	/* initialize the tty driver */
	ifx_spi_tty_driver->owner = THIS_MODULE;
	ifx_spi_tty_driver->driver_name = "ifxn721";
	ifx_spi_tty_driver->name = "ttyspi";
	ifx_spi_tty_driver->major = IFX_SPI_MAJOR;
	ifx_spi_tty_driver->minor_start = 0;
	ifx_spi_tty_driver->type = TTY_DRIVER_TYPE_SERIAL;
	ifx_spi_tty_driver->subtype = SERIAL_TYPE_NORMAL;
	ifx_spi_tty_driver->flags = TTY_DRIVER_REAL_RAW;
	ifx_spi_tty_driver->init_termios = tty_std_termios;
	ifx_spi_tty_driver->init_termios.c_cflag = B38400/*B9600*/ | CS8 | CREAD | HUPCL | CLOCAL;
	tty_set_operations(ifx_spi_tty_driver, &ifx_spi_ops);

	status = tty_register_driver(ifx_spi_tty_driver);
	if (status)
	{
		IFX_SPI_PRINTK("Failed to register IFX SPI tty driver");
		put_tty_driver(ifx_spi_tty_driver);
		return status;
	}

	/* Register SPI Driver */

	status = spi_register_driver(&ifx_spi_driver);
	if (status < 0)
	{ 
		IFX_SPI_PRINTK("Failed to register SPI device");
		tty_unregister_driver(ifx_spi_tty_driver);
		put_tty_driver(ifx_spi_tty_driver);
		return status;
	}

	printk("**** %s \n",__FUNCTION__);
	return status;
}
struct link_device *spi_create_link_device(struct platform_device *pdev)
{
	int ret;

	struct modem_data *pdata = pdev->dev.platform_data;
	struct link_device *ld;

	mif_err("&&** spi create link device \n");

	if (!pdata) {
		mif_err("modem_data is null\n");
		return NULL;
	}

	spi_boot_id = kzalloc(sizeof(struct spi_boot_link_device), GFP_KERNEL);
	if (!spi_boot_id) {
		mif_err("allocation fail for spi_boot_id\n");
		return NULL;
	}

	INIT_LIST_HEAD(&spi_boot_id->ld.list);

	ld = &spi_boot_id->ld;

	ld->name = "spi_boot";
	ld->init_comm = spi_boot_init;
	ld->terminate_comm = spi_boot_terminate;
	ld->send = spi_boot_send;
	//ld->com_state = COM_NONE;

	ret = spi_register_driver(&spi_boot_driver);
	if (ret) {
		mif_err("spi_register_driver() fail(%d)\n", ret);
		goto err;
	}

	skb_queue_head_init(&spi_boot_id->tx_q);

	mif_info("success\n");

	return ld;
err:
	kfree(spi_boot_id);

	return NULL;
}
Example #17
0
static int __init spi_aic3254_init(void)
{
	int ret = 0;
	struct ecodec_aic3254_state *codec_drv =  &codec_clk;

	pr_aud_info("%s\n", __func__);
	mutex_init(&lock);

	ret = spi_register_driver(&spi_aic3254);
	if (ret < 0) {
		pr_aud_err("%s:failed to register spi driver(%d)\n", __func__, ret);
		return ret;
	}

	ret = misc_register(&aic3254_misc);
	if (ret < 0) {
		pr_aud_err("%s:failed to register misc device\n", __func__);
		spi_unregister_driver(&spi_aic3254);
		return ret;
	}

#if defined(CONFIG_ARCH_MSM7X30)
	codec_drv->rx_mclk = clk_get(NULL, "mi2s_codec_rx_m_clk");
	if (IS_ERR(codec_drv->rx_mclk)) {
		pr_aud_err("%s:failed to get mi2s mclk\n", __func__);
		misc_deregister(&aic3254_misc);
		spi_unregister_driver(&spi_aic3254);
		return -ENODEV;
	}
	codec_drv->rx_sclk = clk_get(NULL, "mi2s_codec_rx_s_clk");
	if (IS_ERR(codec_drv->rx_sclk)) {
		pr_aud_err("%s:failed to get mi2s sclk\n", __func__);
		misc_deregister(&aic3254_misc);
		spi_unregister_driver(&spi_aic3254);
		clk_put(codec_drv->rx_mclk);
		return -ENODEV;
	}
#endif

	pm_qos_add_request(&codec_drv->pm_qos_req, PM_QOS_CPU_DMA_LATENCY,
			PM_QOS_DEFAULT_VALUE);
	wake_lock_init(&codec_drv->wakelock, WAKE_LOCK_SUSPEND,
			"aic3254_suspend_lock");

	return 0;
}
Example #18
0
static int __init nxtts_init_spi(void)
{
	int error;

	nxtts_ctl.tx_buff = kzalloc(SPI_BUFF_SIZE, GFP_KERNEL | GFP_DMA);
	if (!nxtts_ctl.tx_buff) {
		error = -ENOMEM;
		goto nxtts_init_error;
	}

	nxtts_ctl.rx_buff = kzalloc(SPI_BUFF_SIZE, GFP_KERNEL | GFP_DMA);
	if (!nxtts_ctl.rx_buff) {
		error = -ENOMEM;
		goto nxtts_init_error;
	}

	error = spi_register_driver(&nxtts_driver);
	if (error < 0) {
		printk(KERN_ALERT "spi_register_driver() failed %d\n", error);
		return error;
	}

	error = add_nxtts_device_to_bus();
	if (error < 0) {
		printk(KERN_ALERT "add_nxtts_to_bus() failed\n");
		spi_unregister_driver(&nxtts_driver);
		return error;
	}

	return 0;

nxtts_init_error:

	if (nxtts_ctl.tx_buff) {
		kfree(nxtts_ctl.tx_buff);
		nxtts_ctl.tx_buff = 0;
	}

	if (nxtts_ctl.rx_buff) {
		kfree(nxtts_ctl.rx_buff);
		nxtts_ctl.rx_buff = 0;
	}

	return error;
}
int cc2520_plat_spi_init()
{
    int result;

    result = cc2520_spi_add_to_bus();
    if (result < 0)
        goto error;

    result = spi_register_driver(&cc2520_spi_driver);
    if (result < 0)
        goto error;
    
    return 0;

    error:
        spi_unregister_driver(&cc2520_spi_driver);
        return result;
}
Example #20
0
static int __init pcd8544_init_spi(void)
{
	int error;

	error = spi_register_driver(&pcd8544_driver);
	if (error < 0) {
		printk(KERN_ALERT "spi_register_driver() failed %d\n", error);
		return error;	}

	error = add_pcd8544_device_to_bus();
	if (error < 0) {
		printk(KERN_ALERT "add_pcd8544_to_bus() failed\n");
		spi_unregister_driver(&pcd8544_driver);
		return error;	
	}

	return 0;
}
int __init spi_eeprom_read(int busid, int chipid, int address,
			   unsigned char *buf, int len)
{
	int ret;
	struct read_param param = {
		.busid = busid,
		.chipid = chipid,
		.address = address,
		.buf = buf,
		.len = len
	};

	read_param = &param;
	ret = spi_register_driver(&early_seeprom_driver);
	if (!ret)
		spi_unregister_driver(&early_seeprom_driver);
	return ret;
}
Example #22
0
static int __init mcp3901_init(void)
{
	int ret;

	ret = spi_register_driver(&mcp3901_driver);
	if(ret)
		goto error;

	ret = mcp3901_hotplug();
	if(ret)
		goto error;

	return 0;

error:
	return ret;

}
Example #23
0
int linux_spi_init(void* vp){
	int ret = 1;
	static int called = 0;
	
	
	if(called == 0){
		called++;
		if(&atwilc_bus == NULL){
			PRINT_ER("atwilc_bus address is NULL\n");
		}
		ret = spi_register_driver(&atwilc_bus);		
	}

	/* change return value to match ATWILC interface */
	(ret<0)? (ret = 0):(ret = 1);
	
	return ret;
}
Example #24
0
static int __init adg739_init(void)
{
	//выделение памяти для структуры состояния драйвера
	adg739_status = kzalloc(sizeof(struct adg739_data), GFP_KERNEL);
	if (!adg739_status)
	{
		return (-ENOMEM);
	}
	//получение идентификатора для устройства
	if(alloc_chrdev_region(&dev_adg739, 0, 1, device_name))
	{
		printk(KERN_ALERT "The request_mem_region function failed\n");
		return (1);
	}

	//регистрация символьного устройства
	cdev_init(&cdev_adg739, &adg739_fops);
	cdev_adg739.owner = THIS_MODULE;
	if (cdev_add(&cdev_adg739, dev_adg739, 1))
	{
		unregister_chrdev_region(dev_adg739, 1);
		printk(KERN_ERR "The cdev_add function failed\n");
		return(1);
	}

	//регистрация класса устройств
	devclass = class_create( THIS_MODULE, DEV_CLASS_MUL);	//создание класса
	if (IS_ERR(devclass))
	{
		printk(KERN_ERR "The class_create function failed\n");
		unregister_chrdev_region(dev_adg739, 1);
		return (PTR_ERR(devclass));
	}

	//регистрация spi драйвера
	if (spi_register_driver(&spi_adg739_driver))
	{
		printk(KERN_ERR "The spi_register_driver function failed\n");
		unregister_chrdev_region(dev_adg739, 1);
		class_destroy(devclass);
		return (1);
	}
	return (0);
}
static int __init spi_aic3254_init(void)
{
	int ret = 0;
	struct ecodec_aic3254_state *codec_drv =  &codec_clk;

	pr_aud_info("%s\n", __func__);
	mutex_init(&lock);

	ret = spi_register_driver(&spi_aic3254);
	if (ret < 0) {
		pr_aud_err("%s:failed to register spi driver(%d)\n", __func__, ret);
		return ret;
	}

	ret = misc_register(&aic3254_misc);
	if (ret < 0) {
		pr_aud_err("%s:failed to register misc device\n", __func__);
		spi_unregister_driver(&spi_aic3254);
		return ret;
	}

#if defined(CONFIG_ARCH_MSM7X30)
	codec_drv->rx_mclk = clk_get(NULL, "mi2s_codec_rx_m_clk");
	if (IS_ERR(codec_drv->rx_mclk)) {
		pr_aud_err("%s:failed to get mi2s mclk\n", __func__);
		misc_deregister(&aic3254_misc);
		spi_unregister_driver(&spi_aic3254);
		return -ENODEV;
	}
	codec_drv->rx_sclk = clk_get(NULL, "mi2s_codec_rx_s_clk");
	if (IS_ERR(codec_drv->rx_sclk)) {
		pr_aud_err("%s:failed to get mi2s sclk\n", __func__);
		misc_deregister(&aic3254_misc);
		spi_unregister_driver(&spi_aic3254);
		clk_put(codec_drv->rx_mclk);
		return -ENODEV;
	}
#endif

	wake_lock_init(&codec_drv->idlelock, WAKE_LOCK_IDLE,
			"aic3254_lock");

	return 0;
}
Example #26
0
static int __init wm8711_modinit(void)
{
	int ret;
#if IS_ENABLED(CONFIG_I2C)
	ret = i2c_add_driver(&wm8711_i2c_driver);
	if (ret != 0) {
		printk(KERN_ERR "Failed to register WM8711 I2C driver: %d\n",
		       ret);
	}
#endif
#if defined(CONFIG_SPI_MASTER)
	ret = spi_register_driver(&wm8711_spi_driver);
	if (ret != 0) {
		printk(KERN_ERR "Failed to register WM8711 SPI driver: %d\n",
		       ret);
	}
#endif
	return 0;
}
static int __init wm8988_modinit(void)
{
	int ret = 0;
#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)
	ret = i2c_add_driver(&wm8988_i2c_driver);
	if (ret != 0) {
		printk(KERN_ERR "Failed to register WM8988 I2C driver: %d\n",
		       ret);
	}
#endif
#if defined(CONFIG_SPI_MASTER)
	ret = spi_register_driver(&wm8988_spi_driver);
	if (ret != 0) {
		printk(KERN_ERR "Failed to register WM8988 SPI driver: %d\n",
		       ret);
	}
#endif
	return ret;
}
Example #28
0
static int __init es8328_modinit(void)
{
	int ret = 0;
#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)
	pr_debug("es8328: adding i2c driver\n");
	ret = i2c_add_driver(&es8328_i2c_driver);
	if (ret != 0) {
		pr_err("failed to register es8328 I2C driver: %d\n", ret);
	}
#endif
#if defined(CONFIG_SPI_MASTER)
	pr_debug("es8328: adding spi driver\n");
	ret = spi_register_driver(&es8328_spi_driver);
	if (ret != 0) {
		pr_err("Failed to register es8328 SPI driver: %d\n", ret);
	}
#endif
	return ret;
}
Example #29
0
static int __init xpt2046_ts_init(void)
{
    int ret = spi_register_driver(&xpt2046_ts_driver);

    rk28printk("Touch panel drive XPT2046 driver init...\n");

    if (ret == 0)
    {
        gADPoint.x = 0;
        gADPoint.y = 0;

        ret += driver_create_file(&xpt2046_ts_driver.driver, &driver_attr_calistatus);
        ret += driver_create_file(&xpt2046_ts_driver.driver, &driver_attr_pressure);
    }

    return ret;


}
Example #30
0
static int __init n8x0_panel_drv_init(void)
{
	int r;

	r = spi_register_driver(&mipid_spi_driver);
	if (r) {
		pr_err("n8x0_panel: spi driver registration failed\n");
		return r;
	}

	r = omap_dss_register_driver(&n8x0_panel_driver);
	if (r) {
		pr_err("n8x0_panel: dss driver registration failed\n");
		spi_unregister_driver(&mipid_spi_driver);
		return r;
	}

	return 0;
}