intel_th: Only create useful device nodes
authorAlexander Shishkin <alexander.shishkin@linux.intel.com>
Mon, 12 Nov 2018 11:30:24 +0000 (13:30 +0200)
committerAlexander Shishkin <alexander.shishkin@linux.intel.com>
Thu, 21 Feb 2019 13:04:36 +0000 (15:04 +0200)
Right now, the driver will create a device node for each output port,
with the intent to provide read access to that port's data. However,
only the memory ports are readable this way (msc0, msc1). Other output
ports don't need device nodes, so remove them.

Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com>
drivers/hwtracing/intel_th/core.c

index fc6b7f8b62fb888238b83178212a16f9478564c8..7c1acc2f801c3f4218b46b2dc23cb6605318eba1 100644 (file)
@@ -422,6 +422,7 @@ static const struct intel_th_subdevice {
        unsigned                nres;
        unsigned                type;
        unsigned                otype;
+       bool                    mknode;
        unsigned                scrpd;
        int                     id;
 } intel_th_subdevices[] = {
@@ -456,6 +457,7 @@ static const struct intel_th_subdevice {
                .name   = "msc",
                .id     = 0,
                .type   = INTEL_TH_OUTPUT,
+               .mknode = true,
                .otype  = GTH_MSU,
                .scrpd  = SCRPD_MEM_IS_PRIM_DEST | SCRPD_MSC0_IS_ENABLED,
        },
@@ -476,6 +478,7 @@ static const struct intel_th_subdevice {
                .name   = "msc",
                .id     = 1,
                .type   = INTEL_TH_OUTPUT,
+               .mknode = true,
                .otype  = GTH_MSU,
                .scrpd  = SCRPD_MEM_IS_PRIM_DEST | SCRPD_MSC1_IS_ENABLED,
        },
@@ -635,7 +638,8 @@ intel_th_subdevice_alloc(struct intel_th *th,
        }
 
        if (subdev->type == INTEL_TH_OUTPUT) {
-               thdev->dev.devt = MKDEV(th->major, th->num_thdevs);
+               if (subdev->mknode)
+                       thdev->dev.devt = MKDEV(th->major, th->num_thdevs);
                thdev->output.type = subdev->otype;
                thdev->output.port = -1;
                thdev->output.scratchpad = subdev->scrpd;