OSDN Git Service

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 fc6b7f8..7c1acc2 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;