input: pwm-haptic: Set polarity on probe

The polarity won't change, so there is no need to set it on every open.
Also the suspend/resume behavior might be wrong if the polarity is not
set.
MIPS: JZ4770: GCW0: Reduce pwm_haptic_platform_data

Removed pwm_id, which is not used since switching to the new style
mapping tables.

Removed polarity, which is default (value 0) and will be removed in
the pwm-haptic driver.
input: pwm-haptic: Don't set polarity at all

If the polarity should be set to a non-default value, it likely means
the motor will be running until it is set. I don't think a hardware
design would want that to happen, so most likely it would either use
the default polarity or it would have a power regulator that is kept
off until the PWM is configured properly. In either case the polarity
support that was present isn't useful, so I'm removing it.

Platform data is being replaced by Device Tree anyway, so I think it's
best to put only values in there that we need right now.
input: pwm-haptic: Remove pwm_id from platform data

In the new PWM API, mapping tables take care of attaching the right PWM
to the driver. So this field was unused since 85e60833.
input: pwm-haptic: Made platform data optional

The only remaining field can fall back on a default value, so we can
deal with missing platform data just fine (unlike before when pwm_id
was essential).
input: pwm-haptic: Clean up probe and remove function

Include error codes in error logging.

Use "idev" instead of "haptic->input_dev" where possible.

Do not call input_ff_destroy:
Calling it when input_ff_create_memless fails is unnecessary because
the "ff" field hasn't been set in that case.
Calling it when input_register_device fails is unnecessary because
the managed destruction of the input_dev will take care of destroying
the ff_device. I verified this by attaching a "destroy" handler.
Calling it in pwm_haptic_remove is unnecessary because the managed
destruction of input_dev will destroy the ff_device as well.
PWM: JZ4770: Correct polarity again

My earlier conclusion (see cb0eddeb6) that the output while disabled is
the non-initial state was incorrect. For PWM4, the level is the inital
state when disabled, consistent with the programming manual.

For PWM1, the output at boot is independent of the initial state
setting. So there is a difference here between TCU1 and TCU2 modes.