static int __devinit ram_console_probe(struct platform_device *pdev) { struct ram_console_platform_data *pdata = pdev->dev.platform_data; struct persistent_ram_zone *prz; printk(KERN_ERR "zhouxin ram_console_probe\n"); #ifdef CONFIG_ZTE_PLATFORM zte_persistent_ram_init(); prz = persistent_ram_init_ringbuffer(&pdev->dev, false); #else prz = persistent_ram_init_ringbuffer(&pdev->dev, true); #endif if (IS_ERR(prz)) return PTR_ERR(prz); if (pdata) { bootinfo = kstrdup(pdata->bootinfo, GFP_KERNEL); if (bootinfo) bootinfo_size = strlen(bootinfo); } ram_console_zone = prz; ram_console.data = prz; register_console(&ram_console); return 0; }
static int __devinit persistent_trace_probe(struct platform_device *pdev) { struct dentry *d; int ret; persistent_trace = persistent_ram_init_ringbuffer(&pdev->dev, false); if (IS_ERR(persistent_trace)) { pr_err("persistent_trace: failed to init ringbuffer: %ld\n", PTR_ERR(persistent_trace)); return PTR_ERR(persistent_trace); } ret = register_tracer(&persistent_tracer); if (ret) pr_err("persistent_trace: failed to register tracer"); if (persistent_ram_old_size(persistent_trace) > 0) { d = debugfs_create_file("persistent_trace", S_IRUGO, NULL, NULL, &persistent_trace_old_fops); if (IS_ERR_OR_NULL(d)) pr_err("persistent_trace: failed to create old file\n"); } return 0; }
static int __devinit ram_console_probe(struct platform_device *pdev) { struct ram_console_platform_data *pdata = pdev->dev.platform_data; struct persistent_ram_zone *prz; if (pdev->dev.of_node) pdata = ram_console_of_init(pdev); prz = persistent_ram_init_ringbuffer(&pdev->dev, true); if (IS_ERR(prz)) return PTR_ERR(prz); if (pdata) { bootinfo = kstrdup(pdata->bootinfo, GFP_KERNEL); if (bootinfo) bootinfo_size = strlen(bootinfo); } ram_console_zone = prz; ram_console.data = prz; register_console(&ram_console); return 0; }
static int __devinit ram_console_probe(struct platform_device *pdev) { struct ram_console_platform_data pdata ; struct persistent_ram_zone *prz; int rc; if(!pdev->dev.of_node) { pr_err( "%s:%d, pdev->dev.of_node is NULL \n",__func__, __LINE__); return -EINVAL; } rc = of_property_read_string(pdev->dev.of_node, "bootinfo", &pdata.bootinfo); if (rc) { pr_err("%s:%d, bootinfo not specified\n", __func__, __LINE__); return -EINVAL; } prz = persistent_ram_init_ringbuffer(&pdev->dev, false); if (IS_ERR(prz)) return PTR_ERR(prz); bootinfo = kstrdup(pdata.bootinfo, GFP_KERNEL); if (bootinfo) bootinfo_size = strlen(bootinfo); ram_console_zone = prz; ram_console.data = prz; register_console(&ram_console); return 0; }