1*597b89d3SMikko Perttunen // SPDX-License-Identifier: GPL-2.0-only 2*597b89d3SMikko Perttunen /* 3*597b89d3SMikko Perttunen * Copyright (c) 2021, NVIDIA Corporation. 4*597b89d3SMikko Perttunen */ 5*597b89d3SMikko Perttunen 6*597b89d3SMikko Perttunen #include <linux/device.h> 7*597b89d3SMikko Perttunen #include <linux/of.h> 8*597b89d3SMikko Perttunen 9*597b89d3SMikko Perttunen struct bus_type host1x_context_device_bus_type = { 10*597b89d3SMikko Perttunen .name = "host1x-context", 11*597b89d3SMikko Perttunen }; 12*597b89d3SMikko Perttunen EXPORT_SYMBOL_GPL(host1x_context_device_bus_type); 13*597b89d3SMikko Perttunen 14*597b89d3SMikko Perttunen static int __init host1x_context_device_bus_init(void) 15*597b89d3SMikko Perttunen { 16*597b89d3SMikko Perttunen int err; 17*597b89d3SMikko Perttunen 18*597b89d3SMikko Perttunen if (!of_machine_is_compatible("nvidia,tegra186") && 19*597b89d3SMikko Perttunen !of_machine_is_compatible("nvidia,tegra194") && 20*597b89d3SMikko Perttunen !of_machine_is_compatible("nvidia,tegra234")) 21*597b89d3SMikko Perttunen return 0; 22*597b89d3SMikko Perttunen 23*597b89d3SMikko Perttunen err = bus_register(&host1x_context_device_bus_type); 24*597b89d3SMikko Perttunen if (err < 0) { 25*597b89d3SMikko Perttunen pr_err("bus type registration failed: %d\n", err); 26*597b89d3SMikko Perttunen return err; 27*597b89d3SMikko Perttunen } 28*597b89d3SMikko Perttunen 29*597b89d3SMikko Perttunen return 0; 30*597b89d3SMikko Perttunen } 31*597b89d3SMikko Perttunen postcore_initcall(host1x_context_device_bus_init); 32