Problem reading registers of L3GD20H with SPI

Not sure what i am doing wrong here

You read the data before you sent the command:

address = SPI.transfer(readData | WHOAMI);

As you can see in the diagram on page 30 of the datasheet, you first have to send the command byte, then read the answer:

SPI.transfer(readData | WHOAMI);
address = SPI.transfer(0x00);