/* regulator descriptor */
        struct regulator_desc desc;
 
-       /* Regulator ops */
-       struct regulator_ops ops;
-
        int state;
 
        /* Enable GPIO */
        return 0;
 }
 
-static struct regulator_ops pwm_regulator_voltage_table_ops = {
+static const struct regulator_ops pwm_regulator_voltage_table_ops = {
        .set_voltage_sel = pwm_regulator_set_voltage_sel,
        .get_voltage_sel = pwm_regulator_get_voltage_sel,
        .list_voltage    = pwm_regulator_list_voltage,
        .is_enabled      = pwm_regulator_is_enabled,
 };
 
-static struct regulator_ops pwm_regulator_voltage_continuous_ops = {
+static const struct regulator_ops pwm_regulator_voltage_continuous_ops = {
        .get_voltage = pwm_regulator_get_voltage,
        .set_voltage = pwm_regulator_set_voltage,
        .enable          = pwm_regulator_enable,
        .is_enabled      = pwm_regulator_is_enabled,
 };
 
-static struct regulator_desc pwm_regulator_desc = {
+static const struct regulator_desc pwm_regulator_desc = {
        .name           = "pwm-regulator",
        .type           = REGULATOR_VOLTAGE,
        .owner          = THIS_MODULE,
 
        drvdata->state                  = -EINVAL;
        drvdata->duty_cycle_table       = duty_cycle_table;
-       memcpy(&drvdata->ops, &pwm_regulator_voltage_table_ops,
-              sizeof(drvdata->ops));
-       drvdata->desc.ops = &drvdata->ops;
+       drvdata->desc.ops = &pwm_regulator_voltage_table_ops;
        drvdata->desc.n_voltages        = length / sizeof(*duty_cycle_table);
 
        return 0;
        u32 dutycycle_range[2] = { 0, 100 };
        u32 dutycycle_unit = 100;
 
-       memcpy(&drvdata->ops, &pwm_regulator_voltage_continuous_ops,
-              sizeof(drvdata->ops));
-       drvdata->desc.ops = &drvdata->ops;
+       drvdata->desc.ops = &pwm_regulator_voltage_continuous_ops;
        drvdata->desc.continuous_voltage_range = true;
 
        of_property_read_u32_array(pdev->dev.of_node,