Quaternion Rotation with Gyro

Ok, So I have made this app that uses the gyro to look around, but I got this cheap bluetooth controller and have implemented that into it aswell, the problem lies getting them to play nicely together. Essentially I have the axis input set to 1 and -1 and in the Update() I have the following

rot1 +=(int)axisInput[2];
CR = (gyro.attitude * new Quaternion(0,0,1,0) * Quaternion.Euler(new Vector3(0,rot1,0)));
transform.localRotation = CR;

The issue I am having is that the gyro when I rotate around the y axis, the gyro does not adjust for this, so for example when I am 180 degrees on the Y axis, the X axis is inverted.

How can I adjust the gyro so that it’s relative to my joypad input?

Any advice would be welcomed. (Beginner here)

OK, Two inputs, gyro and a gamepad y axis.

Quaternion CR = Gyro * orintationfix (for landscape left) * new Quaternion.Euler(0,Input from game pad for y axis, 0)

rot1 is the degree I wish to rotate around.