On Sat, Nov 7, 2015 at 4:26 AM, Arnd Bergmann arnd@arndb.de wrote:
On Saturday 07 November 2015 04:08:16 Amitoj Kaur Chawla wrote:
On Sat, Nov 7, 2015 at 3:01 AM, Arnd Bergmann arnd@arndb.de wrote:
On Saturday 07 November 2015 02:36:35 Amitoj Kaur Chawla wrote:
The only place bfa_itnim_ioprofile_s is used is in the function:
bfa_status_t bfa_itnim_get_ioprofile(struct bfa_itnim_s *itnim, struct bfa_itnim_ioprofile_s *ioprofile) { .... itnim->ioprofile.io_profile_start_time = bfa_io_profile_start_time(itnim->bfa); .... }
bfa_io_profile_start_time is the macro:
#define bfa_io_profile_start_time(_bfa) \ ((_bfa)->modules.fcp_mod.fcpim.io_profile_start_time);
As far as I understood in the above code is that fcpim.io_profile_start_time is the structure bfa_fcpim_s io_profile_start_time variable.
Since we are talking about both structures' io_profile_start_time variable and converting both of them to u64, I thought it would be a safe change.
What I wrote was "Please try to find out if the ioprofile structure can be changed as well, and then either change it as well, or make document the place where the upper bits are lost, whichever is correct."
If the above was the only use of the variable, it would be write-only, and the correct change would be to eliminate it throughout the driver.
For all I can tell, the ioprofile variable is not unused, and its layout is fixed, so we cannot remove the io_profile_start_time or change it to another format. Can you look again and see how it gets used by the driver?
Arnd
I checked again and apart from the above code I mentioned, the ioprofile variable is used in two structures:
bfa_itnim_s which is defined in bfa_fcpim.h file
bfa_bsg_itnim_ioprofile_s defined in bfad_bsg.h file
However, the io_profile_start_time variable is not used anywhere else.
I'm sorry but I didn't understand why the layout is fixed?