Lines Matching refs:misc_ctrl
334 struct aspeed_p2a_ctrl *misc_ctrl; in aspeed_p2a_ctrl_probe() local
341 misc_ctrl = devm_kzalloc(dev, sizeof(*misc_ctrl), GFP_KERNEL); in aspeed_p2a_ctrl_probe()
342 if (!misc_ctrl) in aspeed_p2a_ctrl_probe()
345 mutex_init(&misc_ctrl->tracking); in aspeed_p2a_ctrl_probe()
350 misc_ctrl->mem_size = resource_size(&resm); in aspeed_p2a_ctrl_probe()
351 misc_ctrl->mem_base = resm.start; in aspeed_p2a_ctrl_probe()
354 misc_ctrl->regmap = syscon_node_to_regmap(pdev->dev.parent->of_node); in aspeed_p2a_ctrl_probe()
355 if (IS_ERR(misc_ctrl->regmap)) { in aspeed_p2a_ctrl_probe()
360 misc_ctrl->config = of_device_get_match_data(dev); in aspeed_p2a_ctrl_probe()
362 dev_set_drvdata(&pdev->dev, misc_ctrl); in aspeed_p2a_ctrl_probe()
364 aspeed_p2a_disable_all(misc_ctrl); in aspeed_p2a_ctrl_probe()
366 misc_ctrl->miscdev.minor = MISC_DYNAMIC_MINOR; in aspeed_p2a_ctrl_probe()
367 misc_ctrl->miscdev.name = DEVICE_NAME; in aspeed_p2a_ctrl_probe()
368 misc_ctrl->miscdev.fops = &aspeed_p2a_ctrl_fops; in aspeed_p2a_ctrl_probe()
369 misc_ctrl->miscdev.parent = dev; in aspeed_p2a_ctrl_probe()
371 rc = misc_register(&misc_ctrl->miscdev); in aspeed_p2a_ctrl_probe()