On Mon, Apr 27, 2020 at 3:56 PM Jishnu Prakash <jprakash@xxxxxxxxxxxxxx> wrote:There is a way to remove this, I'll make this change with some other changes in the fifth patch of my latest post.
On 4/17/2020 3:51 PM, Andy Shevchenko wrote:Stop using HTML. It breaks badly the reply and discussion.
On Thu, Apr 16, 2020 at 1:48 AM Jishnu Prakash <jprakash@xxxxxxxxxxxxxx> wrote:
...
+static const struct adc5_data adc7_data_pmic;Maybe you can realize how to avoid global variable at all?
Global variable? Hmm...
adc7_data_pmic is referenced twice before its actual definition (which was added along with corresponding adc5_data struct for PMIC5 ADC), so I have given the initial declaration here.
I checked this part again. It looks like casting is not strictly required here, I'll remove it in my latest post.
...
+ buf[1] &= 0xff & ~ADC5_USR_FAST_AVG_CTL_SAMPLES_MASK;Does it work without casting? (Note, I suggested slightly different expression)
What the point of 0xff & part?
This was something you suggested in my first post:
+ buf[1] &= (u8) ~ADC5_USR_FAST_AVG_CTL_SAMPLES_MASK;Use '0xFF ^ _MASK' instead of casting.
...
+ buf[3] &= (u8) ~ADC5_USR_HW_SETTLE_DELAY_MASK;Ditto.
I think "0xff &" works as intended here in place of casting to (u8)...
I.o.w. what the problem casting solves?
+ buf[1] |= prop->avg_samples;
+
+ /* Select ADC channel */
+ buf[2] = prop->channel;
+
+ /* Select HW settle delay for channel */
+ buf[3] &= 0xff & ~ADC5_USR_HW_SETTLE_DELAY_MASK;
Ditto.
+ buf[3] |= prop->hw_settle_time;