On Thu, Sep 10, 2026 at 08:59:19AM +0000, Aniruddha Rao wrote: [...] > diff --git a/drivers/firmware/tegra/bpmp-sysfs.c b/drivers/firmware/tegra/bpmp-sysfs.c > new file mode 100644 > index 000000000000..f56836fa3314 > --- /dev/null > +++ b/drivers/firmware/tegra/bpmp-sysfs.c > @@ -0,0 +1,205 @@ > +// SPDX-License-Identifier: GPL-2.0-only > +/* > + * Copyright (c) 2026, NVIDIA CORPORATION. > + */ > + > +#include > +#include > +#include > +#include > +#include > +#include > + > +#include > +#include > + > +#include "bpmp-private.h" > + > +#define TEGRA_BPMP_MBWT_NUM_GROUPS 6 > +#define TEGRA_BPMP_MBWT_NUM_VCS 3 > + > +struct tegra_bpmp_mbwt_attr { > + struct kobj_attribute attr; > + struct tegra_bpmp_mbwt_sysfs *mbwt; > + unsigned int instance; > + unsigned int vc_type; > +}; > + > +struct tegra_bpmp_mbwt_sysfs { > + struct tegra_bpmp *bpmp; > + struct kobject *root; > + struct kobject *group[TEGRA_BPMP_MBWT_NUM_GROUPS]; > + struct kobject *vc[TEGRA_BPMP_MBWT_NUM_GROUPS] > + [TEGRA_BPMP_MBWT_NUM_VCS]; > + struct tegra_bpmp_mbwt_attr attrs[TEGRA_BPMP_MBWT_NUM_GROUPS] > + [TEGRA_BPMP_MBWT_NUM_VCS]; Should these be dynamically allocated? If there's a remote chance that we'll see other sets of groups and VCs, this should probably be parameterized by some SoC-specific data. Thierry