int secure, int rw, const char *smmu_info)
{
pr_err("[mcerr] (%s) %s: %s\n", client->swgid, client->name, err->msg);
- pr_err("[mcerr] status = 0x%08x; addr = 0x%08llx", status,
+ pr_err("[mcerr] status = 0x%08x; addr = 0x%08llx\n", status,
(long long unsigned int)addr);
pr_err("[mcerr] secure: %s, access-type: %s, SMMU fault: %s\n",
secure ? "yes" : "no", rw ? "write" : "read",
*/
mcerr_chip_specific_setup(&chip_specific);
- irq = irq_of_parse_and_map(pdev->dev.of_node, 0);
- if (irq < 0) {
- pr_err("Unable to parse/map MC error interrupt\n");
- goto done;
- }
-
- if (request_threaded_irq(irq, tegra_mc_error_hard_irq,
- tegra_mc_error_thread, 0, "mc_status", NULL)) {
- pr_err("Unable to register MC error interrupt\n");
- goto done;
- }
-
prop = of_get_property(pdev->dev.of_node, "int_mask", NULL);
if (!prop) {
pr_err("No int_mask prop for mcerr!\n");
mc_intr_count = be32_to_cpup(prop);
+ irq = irq_of_parse_and_map(pdev->dev.of_node, 0);
+ if (irq < 0) {
+ pr_err("Unable to parse/map MC error interrupt\n");
+ goto done;
+ }
+
+ if (request_threaded_irq(irq, tegra_mc_error_hard_irq,
+ tegra_mc_error_thread, 0, "mc_status", NULL)) {
+ pr_err("Unable to register MC error interrupt\n");
+ goto done;
+ }
+
mcerr_debugfs_dir = debugfs_create_dir("err", mc_parent);
if (mcerr_debugfs_dir == NULL) {
pr_err("Failed to make debugfs node: %ld\n",
mcerr_debugfs_dir, NULL,
&mcerr_throttle_debugfs_fops);
- pr_info("Started MC error interface!\n");
-
done:
return 0;
}