staging: fieldbus: move "offline mode" definition to fieldbus core
authorSven Van Asbroeck <thesven73@gmail.com>
Wed, 18 Sep 2019 18:35:49 +0000 (14:35 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 30 Sep 2019 19:58:03 +0000 (21:58 +0200)
anybus-s cards use the "offline mode" property to determine if
process memory should be clear, set, or frozen when the card
is offline.

Move this property to the fieldbus core, so that it can become
part of the future fieldbus config interface.

Signed-off-by: Sven Van Asbroeck <TheSven73@gmail.com>
Link: https://lore.kernel.org/r/20190918183552.28959-3-TheSven73@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/fieldbus/anybuss/anybuss-client.h
drivers/staging/fieldbus/anybuss/hms-profinet.c
drivers/staging/fieldbus/anybuss/host.c
drivers/staging/fieldbus/fieldbus_dev.h

index 0c4b6a1ffe10b86b138318659c983659e6dfe661..8ee1f1baccf12031f717c65c8ed27eba4dd66b6e 100644 (file)
@@ -12,6 +12,9 @@
 #include <linux/types.h>
 #include <linux/poll.h>
 
+/* move to <linux/fieldbus_dev.h> when taking this out of staging */
+#include "../fieldbus_dev.h"
+
 struct anybuss_host;
 
 struct anybuss_client {
@@ -61,12 +64,6 @@ anybuss_set_drvdata(struct anybuss_client *client, void *data)
 
 int anybuss_set_power(struct anybuss_client *client, bool power_on);
 
-enum anybuss_offl_mode {
-       AB_OFFL_MODE_CLEAR = 0,
-       AB_OFFL_MODE_FREEZE,
-       AB_OFFL_MODE_SET
-};
-
 struct anybuss_memcfg {
        u16 input_io;
        u16 input_dpram;
@@ -76,7 +73,7 @@ struct anybuss_memcfg {
        u16 output_dpram;
        u16 output_total;
 
-       enum anybuss_offl_mode offl_mode;
+       enum fieldbus_dev_offl_mode offl_mode;
 };
 
 int anybuss_start_init(struct anybuss_client *client,
index 5446843e35f4b2710f6d793a9f6cdc9303362a77..31c43a0a5776160703e2c95777a705f698000046 100644 (file)
@@ -96,7 +96,7 @@ static int __profi_enable(struct profi_priv *priv)
                .output_io = 220,
                .output_dpram = PROFI_DPRAM_SIZE,
                .output_total = PROFI_DPRAM_SIZE,
-               .offl_mode = AB_OFFL_MODE_CLEAR,
+               .offl_mode = FIELDBUS_DEV_OFFL_MODE_CLEAR,
        };
 
        /*
index f69dc493045717a57e1a409254b9f10b0cd5af06..549cb7d51af81dd677007fa66b4829feba39eb87 100644 (file)
@@ -1022,13 +1022,13 @@ int anybuss_start_init(struct anybuss_client *client,
        };
 
        switch (cfg->offl_mode) {
-       case AB_OFFL_MODE_CLEAR:
+       case FIELDBUS_DEV_OFFL_MODE_CLEAR:
                op_mode = 0;
                break;
-       case AB_OFFL_MODE_FREEZE:
+       case FIELDBUS_DEV_OFFL_MODE_FREEZE:
                op_mode = OP_MODE_FBFC;
                break;
-       case AB_OFFL_MODE_SET:
+       case FIELDBUS_DEV_OFFL_MODE_SET:
                op_mode = OP_MODE_FBS;
                break;
        default:
index a10fc3b446dc512f537d8931917bd655f14de2df..301dca3b8d71a72cd4bd3e47bd036187124b3866 100644 (file)
@@ -15,6 +15,12 @@ enum fieldbus_dev_type {
        FIELDBUS_DEV_TYPE_PROFINET,
 };
 
+enum fieldbus_dev_offl_mode {
+       FIELDBUS_DEV_OFFL_MODE_CLEAR = 0,
+       FIELDBUS_DEV_OFFL_MODE_FREEZE,
+       FIELDBUS_DEV_OFFL_MODE_SET
+};
+
 /**
  * struct fieldbus_dev - Fieldbus device
  * @read_area:         [DRIVER] function to read the process data area of the