Exemple #1
0
static ssize_t bt_test_mode_show(struct device *dev,
     							struct device_attribute *attr, char *buf)
{
	struct bt_rfkill_info *bt_info = dev_get_drvdata(dev);

	if(bt_info->bt_test_mode)
		return sprintf(buf, "1\n");

	mutex_lock(&bt_info->bt_lock);		
	if(mx_is_factory_test_mode(MX_FACTORY_TEST_BT)) {
		msleep(100);
		if(mx_is_factory_test_mode(MX_FACTORY_TEST_BT)) {
			printk("in BT_TEST_MODE\n");
			bt_info->bt_test_mode = 1;            							//test mode

			bt_info->monitor_wqueue = create_freezable_workqueue("wifi_test_led_wqueue");
			INIT_DELAYED_WORK_DEFERRABLE(&bt_info->test_work, test_work);
			INIT_DELAYED_WORK_DEFERRABLE(&bt_info->led_delay_on_work, led_delay_on_work);
			queue_delayed_work(bt_info->monitor_wqueue, &bt_info->led_delay_on_work, msecs_to_jiffies(BT_LED_DELAY));
		}
	}
	mutex_unlock(&bt_info->bt_lock);

	return sprintf(buf, "%d\n",  bt_info->bt_test_mode);
	
}
Exemple #2
0
static int __devinit gps_probe(struct platform_device *pdev)
{
    int ret;

    gps_power = MEIZU_GPS_PWR_ON;

    ret = sysfs_create_group(&pdev->dev.kobj, &gps_attribute_group);
    if (ret < 0) {
        pr_err("%s():sys create group fail !!\n", __func__);
        return ret;
    }

    ret = gpio_request(gps_power, "GPS_PWR");
    if (ret) {
        pr_err("%s():fail to request gpio (GPS_nRST)\n", __func__);
        goto gpio_req;
    }

    s3c_gpio_setpull(gps_power, GPIO_PULL_NONE);
    gpio_direction_output(gps_power, 0);

    if (mx_is_factory_test_mode(MX_FACTORY_TEST_BT)) {
        s3c_gpio_cfgpin(MEIZU_GPS_RTS, S3C_GPIO_INPUT);
        s3c_gpio_cfgpin(MEIZU_GPS_CTS, S3C_GPIO_INPUT);
        s3c_gpio_cfgpin(MEIZU_GPS_RXD, S3C_GPIO_INPUT);
        s3c_gpio_cfgpin(MEIZU_GPS_TXD, S3C_GPIO_INPUT);
        s3c_gpio_setpull(MEIZU_GPS_RTS, GPIO_PULL_DOWN);
        s3c_gpio_setpull(MEIZU_GPS_CTS, GPIO_PULL_DOWN);
        s3c_gpio_setpull(MEIZU_GPS_RXD, GPIO_PULL_DOWN);
        gpio_direction_output(gps_power, 1);
        printk("GPS in test mode!\n");
    }

    pr_info("gps successfully probed!\n");

    return 0;

gpio_req:
    sysfs_remove_group(&pdev->dev.kobj, &gps_attribute_group);

    return ret;
}
Exemple #3
0
static int __devinit gps_probe(struct platform_device *pdev)
{
	int ret;
	struct gps_data *data;

	data = kzalloc(sizeof(struct gps_data), GFP_KERNEL);
	if(!data) {
		pr_err("%s()->%d:kzalloc fail !!\n", __FUNCTION__, __LINE__);
		return -ENOMEM;
	}

	dev_set_drvdata(&pdev->dev, data);
	
	ret = sysfs_create_group(&pdev->dev.kobj, &gps_attribute_group);
	if (ret < 0) {
		pr_err("%s()->%d:sys create group fail !!\n", __FUNCTION__, __LINE__);
		kfree(data);
		return ret;
	}

#ifdef CONFIG_HAS_EARLYSUSPEND
	data->early_suspend.suspend = gps_early_suspend;
	data->early_suspend.resume = gps_late_resume;
	data->early_suspend.level = EARLY_SUSPEND_LEVEL_BLANK_SCREEN;
	register_early_suspend(&data->early_suspend);
#endif
	if(mx_is_factory_test_mode(MX_FACTORY_TEST_BT)) {
		pr_info("%s():now is in factory test mode!\n", __func__);
		if (!gps_power(1)) 
			data->enabled = 1;
	}

	pr_info("gps successfully probed!\n");
	
	return 0;
}
static bool m6mo_is_factory_test_mode(void)
{
	return !!mx_is_factory_test_mode(MX_FACTORY_TEST_CAMERA);
}